"
],
"text/plain": [
" E mu t id_machine id_specimen id_measurement\n",
"0 10113.457096 0.319442 0.250 A 0 g\n",
"1 9432.148720 0.308230 0.250 A 1 g\n",
"2 10468.172283 0.328422 0.250 A 2 g\n",
"3 9474.697920 0.333919 0.250 A 3 g\n",
"4 10010.402837 0.310751 0.250 A 4 g\n",
".. ... ... ... ... ... ...\n",
"715 11935.167126 0.319328 0.125 F 115 l\n",
"716 11552.946124 0.317546 0.125 F 116 l\n",
"717 11985.579932 0.332173 0.125 F 117 l\n",
"718 12092.949690 0.317655 0.125 F 118 l\n",
"719 12170.319166 0.335891 0.125 F 119 l\n",
"\n",
"[720 rows x 6 columns]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_data = pd.read_csv(\"../challenges/data/c05-data.csv\")\n",
"df_data"
]
},
{
"cell_type": "markdown",
"id": "d11db992-fe06-4134-b7dd-913befeab660",
"metadata": {},
"source": [
"## Compare across thicknesses\n",
"\n",
"I chose to make this comparison using boxplots. These are a simple (and underrated!) way to make comparisons across groups.\n",
"\n",
"A particularly helpful tip is to use `notch=True` with boxplots. This visualizes a confidence interval on the median (the middle line), which is helpful for assessing the statistical signifance of differences. As we can see from the boxplots below, the two notches are highly separated, suggesting that the difference is statistically significant (not likely to be due to chance alone).\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "f18b0753-ede9-48a8-967a-59db56d8261a",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Dfrggw/0yCOPqLCw0OryMMq4+BoAkNZef/11dXZ2xo6uRiIRhUIhPf/88xZXBisQjAAAaa27u3vAmy4ikYi6urosqghWIhgBANJaeXm5+vr6Biw//fTTLagGViMYAQDS2plnnqnrrrtOkmJHjubOnavzzz/fyrJgEYIRACDtXXHFFdq6datuueUWSdJ1113HZ5qlKd6VBgCApPz8fLlcLqvLgMU4YgQAAGAiGAEAAJgIRgAAACaCEQAAgIlgBAAAYCIYAQAAmAhGAAAAJoIRAACAiWAEAABgIhgBAACYCEYAAAAmghEAAICJYAQAAGAiGAEAAJgIRgAAACaCEQAAgIlgBAAAYCIYAQAAmAhGAAAAJoIRAACAiWAEAABgclpdwHPPPadXX31V+/bt04wZM3TLLbfE1m3cuFEfffSRPv/8c914443667/+67htq6ur9eijj+rQoUM69dRTtXz5ck2aNCm2/oknntALL7ygUCikWbNm6cYbb1RGRoYkqbOzU5s2bdLu3buVlZWl+fPna968eaMzaAAAkJSO6YjR+vXr1dDQELfst7/9rbq7u+OW1dTU6IYbbhjSPk844QRdeeWVqqysHLCutLRUN954o04++eQB6/bv36+HHnpIy5Yt07Zt21RSUqL169fH1u/cuVNvvPGGNmzYoC1btujAgQPatm1bbP3mzZvV19enrVu36u6779bTTz+tXbt2DalmAACQmo4pGN1+++2qq6uL3Q+Hw5o9e7Y+/vjjuMc1Njbql7/85ZD2OXPmTE2fPl1+v3/AuosuukhnnXWWXC7XgHWvv/66zj33XJ1zzjlyu926+uqrVVNTE6vv5Zdf1rx585SXlye/36+FCxfqlVdekST19PSourpaixcvlsfjUUlJiSorK/XSSy8N+f8CAACknmMKRoZhDGnZaKitrVVpaWnsvsfjUV5enmprayVJdXV1mjJlSmz9lClT1NbWptbWVh08eFCGYai4uDi2vrS0NC70AQCA9GP5NUbD1dPTI6/XG7fM6/UqEAgMuj56OxAIqKenRx6P56jb9ldfX6/6+vrYfbfbrYKCgmHXbrPZ5HA4hr19soiOIRXGIsWPZ6yPKdV6I6XOvJFSrz+p1Bu73R77ngpjSqXejNa8GbPBKDMzc8C1Td3d3crKyoqt7+rqilsnSVlZWQoEAgNC0JHb9rd582at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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## TODO: Compare elasticity across thicknesses\n",
"## NOTE: There are many ways to do this!\n",
"(\n",
" df_data\n",
"# solution-begin\n",
" >> gr.ggplot(gr.aes(\"t\", \"E\"))\n",
" + gr.geom_boxplot(gr.aes(group=\"t\"), notch=True)\n",
"# solution-end\n",
")"
]
},
{
"cell_type": "markdown",
"id": "9c4013b4-713d-45ca-9f1d-4443807612ee",
"metadata": {
"tags": []
},
"source": [
"## Explore the experimental design\n",
"\n",
"(The following is the solution code from the **q2** task.)\n",
"\n",
"Answer the following questions to better understand the experimental design. Note that the same questions are posed within each cell and under *observations* below.\n",
"\n",
"*Hint*: The verbs `tf_count()` and `tf_distinct()` will be very useful for answering some of these questions!\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "841e4fb8-d2ab-47d4-b9fe-ef49fc448045",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
"
],
"text/plain": [
" id_machine n\n",
"0 A 20\n",
"1 B 20\n",
"2 C 20\n",
"3 D 20\n",
"4 E 20\n",
"5 F 20"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Q: How many specimens were made on each machine?\n",
"# solution-begin\n",
"(\n",
" df_data\n",
" >> gr.tf_distinct(DF.id_specimen, DF.id_machine)\n",
" >> gr.tf_count(DF.id_machine)\n",
")\n",
"# solution-end"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "068c7b75-db83-4460-a4df-7ad571b47b3c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
n_max
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" n_max\n",
"0 1"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Q: How many times did each operator measure each specimen?\n",
"# solution-begin\n",
"(\n",
" df_data\n",
" >> gr.tf_count(DF.id_specimen, DF.id_measurement)\n",
" >> gr.tf_summarize(n_max=gr.max(DF.n))\n",
")\n",
"# solution-end"
]
},
{
"cell_type": "markdown",
"id": "477a717c-288b-4191-9029-47aea7a58a78",
"metadata": {},
"source": [
"*Observations*\n",
"\n",
"\n",
"- What thicknesses were tested?\n",
" - (Your response here)\n",
"- How many unique specimens were manufactured?\n",
" - (Your response here)\n",
"- How many specimens were made on each machine?\n",
" - (Your response here)\n",
"- How many times did each operator measure each specimen?\n",
" - (Your response here)\n",
"\n",
"\n",
"- What thicknesses were tested?\n",
" - 0.125 and 0.250 inches\n",
"- How many unique specimens were manufactured?\n",
" - 120\n",
"- How many specimens were made on each machine?\n",
" - 20 specimens each\n",
"- How many times did each operator measure each specimen?\n",
" - Just once\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "4c590da3-e887-4004-b982-7ea3b4b1767d",
"metadata": {},
"source": [
"## Fitting a lognorm\n",
"\n",
"First, let's set up the data as it was in the challenge. We seek to model the variability of `E` as observed in `df_sub`.\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "c8431003-6f2a-4af8-8271-0b29d985f106",
"metadata": {},
"outputs": [],
"source": [
"## NOTE: No need to edit\n",
"df_sub = (\n",
" df_data\n",
" >> gr.tf_filter(\n",
" DF.t == 0.250,\n",
" DF.id_machine != \"C\",\n",
" DF.id_measurement != \"h\",\n",
" )\n",
")"
]
},
{
"cell_type": "markdown",
"id": "8a570b88-298c-4d64-b2fb-09bc9ce9d721",
"metadata": {},
"source": [
"The following code fits a lognormal distribution to the observations on `E`.\n",
"\n",
"Note that the `\"lognorm\"` distribution in grama uses the [scipy implementation](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.lognorm.html). As noted in that documentation, the `loc` and `scale` parameters are used to modify the input variable `(x - loc) / scale`. However, we can *freeze* the location parameter of the distribution by setting `floc=0`. This is useful when fitting a lognormal distribution becomes unstable. The following code demonstrates this phenomenon:\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "b95a8554-9b11-49f7-9b9d-9e7b7e12d27b",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/zach/opt/anaconda3/envs/evc/lib/python3.9/site-packages/plotnine/facets/facet.py:487: FutureWarning: Passing a set as an indexer is deprecated and will raise in a future version. Use a list instead.\n",
"/Users/zach/opt/anaconda3/envs/evc/lib/python3.9/site-packages/plotnine/utils.py:371: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
"/Users/zach/opt/anaconda3/envs/evc/lib/python3.9/site-packages/plotnine/utils.py:371: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n"
]
},
{
"data": {
"image/png": "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I6IiwF7qAEREcvD111+jVatW2dqcnZ0lSkNERQmLLSIiAFWrVkWTJk2kjkFERRAPIxJRobd69Wr4+vrCxcUFbdq0wZ9//gmFQoENGzZIHY2IiMUWERVuERERGDp0KFq1aoXdu3ejTZs2CA4Ozvfr6PV6aLXabP/p9XobJCai4oaHEYmoUJs1axZatGiB9evXAwDee+89ZGRkYObMmfl6nR49euRoGzRoENasWWOVnERUfLHYIqJCS6fT4cKFC5g7d2629m7duuW72JozZw5at26dre3111+3OCMREYstIiq0EhISoNVqUaZMmWztZcuWzfdr+fv7480337RWNCIiA56zRUSF1uuvvw57e3s8evQoW/vDhw8lSkRElBOLLSIqtJRKJRo0aIDdu3dna9+5c6dEiYiIcuJhRCIq1D777DMEBQVhwIABCAkJwYULF7B58+Z8v86tW7dw7ty5bG0KhQKNGze2VlQiKqZYbBFRodaxY0esWLECs2fPRlhYGBo3bozw8PB8F0lTp07N0aZUKqHVaq0VlYiKKYUgCILUIYiIrOnZs2fw9PTE+vXr0b9/f6njEFExx3O2iIiIiGyIhxGJqMgSBMHsYUA7OzvY2fE3JxHZFr9liKjIKVmyJARBgEKhgIODg8n/vvrqK6mjElExwHO2iKjIevLkCaKjo032ly9fHuXLlxcxEREVRyy2iIiIiGyIhxGJiIiIbIjFFhEREZENsdgiIiIisiEWW0REREQ2xGKLiIiIyIZYbBERERHZEIstIiIiIhv6fxgrIIBwx655AAAAAElFTkSuQmCC\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Fit with loc == 0\n",
"mg_fixed = gr.marg_fit(\n",
" \"lognorm\", \n",
" df_sub.E, \n",
" floc=0,\n",
")\n",
"\n",
"## Fit with loc able to move\n",
"mg_free = gr.marg_fit(\n",
" \"lognorm\", \n",
" df_sub.E, \n",
" # floc=0, # Don't set the location parameter to zero\n",
")\n",
"\n",
"## Use QQ plot to asses\n",
"(\n",
" df_sub\n",
" >> gr.tf_mutate(\n",
" fixed=gr.qqvals(DF.E, marg=mg_fixed),\n",
" free=gr.qqvals(DF.E, marg=mg_free),\n",
" )\n",
" >> gr.tf_pivot_longer(\n",
" columns=[\"fixed\", \"free\"],\n",
" names_to=\"location\",\n",
" values_to=\"q_E\",\n",
" )\n",
" \n",
" >> gr.ggplot(gr.aes(\"q_E\", \"E\"))\n",
" + gr.geom_abline(intercept=0, slope=1, linetype=\"dashed\")\n",
" + gr.geom_point()\n",
" + gr.facet_grid(\"~location\", scales=\"free_x\")\n",
")"
]
},
{
"cell_type": "markdown",
"id": "c85a4106-ee86-466b-9f61-7e7e9f6ee2a3",
"metadata": {},
"source": [
"Clearly the `free` option has resulted in a terrible fit!\n",
"\n",
"We can also see that the fitted parameter values for the `free` version have ended up being enormous (and implausible). "
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "7ec5239a-956e-4cd3-8b98-ae05c2bac0c6",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(+0) lognorm, {'mean': '9.965e+03', 's.d.': '4.977e+02', 'COV': 0.05, 'skew.': 0.15, 'kurt.': 3.04}\n",
"(+0) lognorm, {'mean': '2.409e+13', 's.d.': '3.298e+26', 'COV': 13691416095072.72, 'skew.': 2.5665226910475562e+39, 'kurt.': 1.2347725193581465e+105}\n"
]
}
],
"source": [
"print(mg_fixed) # floc == 0 (fixed)\n",
"print(mg_free) # floc free"
]
},
{
"cell_type": "markdown",
"id": "1857ea30-0a44-4f9b-90a5-6e23e95f56e3",
"metadata": {},
"source": [
"## Real variability?\n",
"\n",
"Note that the tails of the fitted distribution seem to exhibit some mismatch:\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "943766a2-a367-4293-9d23-e09af1fbf145",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(\n",
" df_sub\n",
" >> gr.tf_mutate(\n",
" q_E=gr.qqvals(DF.E, marg=mg_fixed),\n",
" )\n",
" \n",
" >> gr.ggplot(gr.aes(\"q_E\", \"E\"))\n",
" + gr.geom_abline(intercept=0, slope=1, linetype=\"dashed\")\n",
" + gr.geom_point()\n",
")"
]
},
{
"cell_type": "markdown",
"id": "962f745e-b1a7-43bb-86b4-104cb9b89e5e",
"metadata": {},
"source": [
"This is a problem for us, as we're aiming to assess probabilities that lie in the tails (around the 1% level). \n",
"\n",
"Part of the issue here is that the real and erroneous variability mingle to create a complicated, non-standard distribution. We can improve the situation by applying the mean heuristic to the data:\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "388c32c8-d253-4f05-9001-450d8592ce77",
"metadata": {},
"outputs": [],
"source": [
"## NOTE: No need to edit\n",
"df_real = (\n",
" df_sub\n",
" >> gr.tf_group_by(DF.id_specimen)\n",
" >> gr.tf_summarize(\n",
" mu=gr.mean(DF.mu),\n",
" E=gr.mean(DF.E),\n",
" )\n",
" >> gr.tf_ungroup()\n",
")"
]
},
{
"cell_type": "markdown",
"id": "59d06c4c-887a-46c4-be26-cb9f3d222528",
"metadata": {},
"source": [
"Now re-fit the marginal distribution on the reduced dataset:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "ec9a59ea-026d-4fce-a1db-7f02f56019bb",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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/ODr6yuGnMzMTAwePBiVK1dGrVq14Ofnh1u3buHatWs6IUij0eDhw4eoWrWq+NgO4MU9y4KDg9GsWTPxmWdSqRSLFy9G9erVIQgCdu7ciWbNmuHJkydo164devfuzVBERCaDI0ZEZmjRokVYvny5+BT7pUuX4vHjx8jKysKBAwfE4+Li4tC3b19YW1vnmTaTSqXYuXMnpk+fjtOnT6NEiRKYPHkyunbtik8++QR///03UlJSUL16dVSsWBGpqamYMmUK9u/fjxkzZqB48eJ6vWYiosLAYERkZgRBwMqVK8VQBABqtRpr165F8eLFdabA1Go1YmNjMXToUKxbt04cNbKyssLQoUPh5uaGsLAwAICjoyPS0tIAvAhNH374ofg+WVlZaN26NZycnBAZGYkaNWro4UqJiAofgxGRicvOzsa9e/dQqlSpfNf/5NJqtQV+GmzYsGHw9vbG5s2bodVq0a1bN4wZM+a1X1uhUODJkycoV64cvv/+e3z44YewsbF572siIjIUrjEiMmFHjhyBj48PfH19UaVKFQQHB0Mul6N27do6N1eUyWSoVKkSBgwYoLNdLpejfv368PLywrBhw3DkyBEcO3YM48aNe+1H6s+dO4eAgADMmjULwItHAzEUEZGpYzAiMlF3795F//79xZsvAsCqVasQFhaGtWvXwt3dXdxetmxZbNy4EVOnTsWIESNgZ2cHKysrNGvWDJs3b36r+wqpVCosWbIE7du3R+PGjbFs2bJCvS4iIkPiVBqRiTp16lSep9lrNBrs378fgwcPRnR0NK5cuSI+t8ze3h4AMGfOHPHxPu/yabFjx45h3bp1WLduXb43dCQiMmUMRkQmSi6X5wlGAMTpLFtbW3zwwQf5nvu2gUgQBKxZswZt27ZFmzZtcPr0aTg5Ob190URERo5TaUQmqmXLlihRooTOmiGJRIIBAwYU6tdJSkpCr1698OWXX+Ly5csAwFBERGaLwYjIRJUoUQK//fYb6tatC1tbW7i5uSE0NBRt27YttK/x66+/onnz5sjIyMCZM2fEZ50REZkrTqURmbBKlSrh999/L7L3v3XrFsaMGYMxY8agRIkS4n2MiIjMFYMREek4fvw41q5di9WrV2PixImGLoeISK84lUZEAIDMzEzMmjULPXr0gKenZ74PkCUiMnccMSIycoIgYP369diyZQsEQUD3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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# solution-begin\n",
"mg_E = gr.marg_fit(\n",
" \"lognorm\", \n",
" df_real.E, \n",
" floc=0,\n",
")\n",
"\n",
"(\n",
" df_real\n",
" >> gr.tf_mutate(\n",
" q_E=gr.qqvals(DF.E, marg=mg_E),\n",
" )\n",
" \n",
" >> gr.ggplot(gr.aes(\"q_E\", \"E\"))\n",
" + gr.geom_abline(intercept=0, slope=1, linetype=\"dashed\")\n",
" + gr.geom_point()\n",
")\n",
"# solution-end"
]
},
{
"cell_type": "markdown",
"id": "39d8f0a0-822c-45bb-965a-adcc6f9f7360",
"metadata": {},
"source": [
"As discussed in the morning session, this fit is still not perfect. However, we can see that the points generally lie closer to the line than before.\n",
"\n",
"Since the real variability *actually* was generated from a lognormal distribution, the remaining mismatch here is due to erroneous (sampling) variability. Dealing with this remaining uncertainty is outside the scope of this course, but you can take a look at the Further Reading below for more information!\n"
]
},
{
"cell_type": "markdown",
"id": "8b65b09b-6399-4105-ad57-2978da6ced51",
"metadata": {},
"source": [
"## Further reading\n",
"\n",
"- [When are allowables conservative?](https://arc.aiaa.org/doi/full/10.2514/1.J059578)\n",
" - Discusses basis values, which are used in aerospace engineering to account for both real and erroneous (sampling) sources of variability simultaneously.\n",
" - Also discusses the limitations of allowable (single) values for engineering analysis purposes.\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.7"
}
},
"nbformat": 4,
"nbformat_minor": 5
}