HSG-MCS-HS21_Julia/Problemsets/PS03_CLT.ipynb

245 lines
584 KiB
Plaintext
Raw Permalink Normal View History

2021-11-15 20:14:51 +00:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 99,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"printyellow (generic function with 1 method)"
]
},
"execution_count": 99,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"using Printf, Statistics, Random, Distributions\n",
"include(\"jlFiles/printmat.jl\")"
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {},
"outputs": [],
"source": [
"using Plots\n",
"\n",
"gr(size=(480,320))\n",
"default(fmt = :svg)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Task 1 (done)\n",
"\n",
"Generate 10000 values of $x=z-2$ where $z$ has a `Chisq(2)` distribution. Show a histogram (with bins from at least -3 to 6) and comment on whether the distribution looks normal. Add the pdf of $x$. \n",
"\n",
"Notice that the (population) mean and standard deviation of a `Chisq(n)` variable are $\\mu=n$ and $\\sigma=\\sqrt{2n}$."
]
},
{
"cell_type": "code",
"execution_count": 101,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"480\" height=\"320\" viewBox=\"0 0 1920 1280\">\n<defs>\n <clipPath id=\"clip400\">\n <rect x=\"0\" y=\"0\" width=\"1920\" height=\"1280\"/>\n </clipPath>\n</defs>\n<path clip-path=\"url(#clip400)\" d=\"\nM0 1280 L1920 1280 L1920 0 L0 0 Z\n \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n<defs>\n <clipPath id=\"clip401\">\n <rect x=\"384\" y=\"0\" width=\"1345\" height=\"1280\"/>\n </clipPath>\n</defs>\n<path clip-path=\"url(#clip400)\" d=\"\nM151.798 1106.38 L1872.76 1106.38 L1872.76 123.472 L151.798 123.472 Z\n \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n<defs>\n <clipPath id=\"clip402\">\n <rect x=\"151\" y=\"123\" width=\"1722\" height=\"984\"/>\n </clipPath>\n</defs>\n<polyline clip-path=\"url(#clip402)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 416.637,1106.38 416.637,123.472 \n \"/>\n<polyline clip-path=\"url(#clip402)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 757.003,1106.38 757.003,123.472 \n \"/>\n<polyline clip-path=\"url(#clip402)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 1097.37,1106.38 1097.37,123.472 \n \"/>\n<polyline clip-path=\"url(#clip402)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 1437.73,1106.38 1437.73,123.472 \n \"/>\n<polyline clip-path=\"url(#clip402)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 1778.1,1106.38 1778.1,123.472 \n \"/>\n<polyline clip-path=\"url(#clip400)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 151.798,1106.38 1872.76,1106.38 \n \"/>\n<polyline clip-path=\"url(#clip400)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 416.637,1106.38 416.637,1087.48 \n \"/>\n<polyline clip-path=\"url(#clip400)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 757.003,1106.38 757.003,1087.48 \n \"/>\n<polyline clip-path=\"url(#clip400)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 1097.37,1106.38 1097.37,1087.48 \n \"/>\n<polyline clip-path=\"url(#clip400)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 1437.73,1106.38 1437.73,1087.48 \n \"/>\n<polyline clip-path=\"url(#clip400)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 1778.1,1106.38 1778.1,1087.48 \n \"/>\n<path clip-path=\"url(#clip400)\" d=\"M386.579 1146.38 L416.255 1146.38 L416.255 1150.32 L386.579 1150.32 L386.579 1146.38 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip400)\" d=\"M430.375 1159.28 L446.695 1159.28 L446.695 1163.21 L424.75 1163.21 L424.75 1159.28 Q427.412 1156.52 431.996 1151.89 Q436.602 1147.24 437.783 1145.9 Q440.028 1143.37 440.908 1141.64 Q441.81 1139.88 441.81 1138.19 Q441.81 1135.43 439.866 1133.7 Q437.945 1131.96 434.843 1131.96 Q432.644 1131.96 430.19 1132.73 Q427.76 1133.49 424.982 1135.04 L424.982 1130.32 Q427.806 1129.18 430.259 1128.61 Q432.713 1128.03 434.75 1128.03 Q440.121 1128.03 443.315 1130.71 Q446.509 1133.4 446.509 1137.89 Q446.509 1140.02 445.699 1141.94 Q444.912 1143.84 442.806 1146.43 Q442.227 1147.1 439.125 1150.32 Q436.023 1153.51 430.375 1159.28 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"estimated mean and std: -0.002 1.950\n",
"\n",
"\u001b[31m\u001b[1mstrongly non-normal\u001b[22m\u001b[39m\n"
]
}
],
"source": [
"Random.seed!(123) #so the same random numbers are drawn \n",
" #each time you run this cell\n",
"x = rand(Chisq(2),10_000) .- 2\n",
"\n",
"printlnPs(\"estimated mean and std: \",mean(x),\" \",std(x))\n",
"\n",
"zGrid = range(0,8,length=101)\n",
"\n",
"p1 = histogram( x,bins = -3:0.1:6,\n",
" normalized = true, \n",
" legend=false,\n",
" title = \"Histogram of x\",\n",
" xlabel = \"x\" )\n",
"plot!(zGrid.-2,pdf(Chisq(2),zGrid),linewidth=2) #pdf(x) value equals pdf(z) value, where x=z-2\n",
"display(p1)\n",
"\n",
"printred(\"\\nstrongly non-normal\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Task 2: Law of Large Numbers\n",
"\n",
"\n",
"Use the $x$ series above and calculate the average of the first $s$ observations. Do this for $s=1$, $s=2$, ..., $s=2000$. Plot the averages (on the vertical axis) against $s$ (on the horizontal axis).\n",
"\n",
"Hint: `cumsum()` or a loop over `s`."
]
},
{
"cell_type": "code",
"execution_count": 102,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"480\" height=\"320\" viewBox=\"0 0 1920 1280\">\n<defs>\n <clipPath id=\"clip440\">\n <rect x=\"0\" y=\"0\" width=\"1920\" height=\"1280\"/>\n </clipPath>\n</defs>\n<path clip-path=\"url(#clip440)\" d=\"\nM0 1280 L1920 1280 L1920 0 L0 0 Z\n \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n<defs>\n <clipPath id=\"clip441\">\n <rect x=\"384\" y=\"0\" width=\"1345\" height=\"1280\"/>\n </clipPath>\n</defs>\n<path clip-path=\"url(#clip440)\" d=\"\nM151.312 1106.38 L1872.76 1106.38 L1872.76 123.472 L151.312 123.472 Z\n \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n<defs>\n <clipPath id=\"clip442\">\n <rect x=\"151\" y=\"123\" width=\"1722\" height=\"984\"/>\n </clipPath>\n</defs>\n<polyline clip-path=\"url(#clip442)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 199.22,1106.38 199.22,123.472 \n \"/>\n<polyline clip-path=\"url(#clip442)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 605.424,1106.38 605.424,123.472 \n \"/>\n<polyline clip-path=\"url(#clip442)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 1011.63,1106.38 1011.63,123.472 \n \"/>\n<polyline clip-path=\"url(#clip442)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 1417.83,1106.38 1417.83,123.472 \n \"/>\n<polyline clip-path=\"url(#clip442)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 1824.04,1106.38 1824.04,123.472 \n \"/>\n<polyline clip-path=\"url(#clip440)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 151.312,1106.38 1872.76,1106.38 \n \"/>\n<polyline clip-path=\"url(#clip440)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 199.22,1106.38 199.22,1087.48 \n \"/>\n<polyline clip-path=\"url(#clip440)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 605.424,1106.38 605.424,1087.48 \n \"/>\n<polyline clip-path=\"url(#clip440)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 1011.63,1106.38 1011.63,1087.48 \n \"/>\n<polyline clip-path=\"url(#clip440)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 1417.83,1106.38 1417.83,1087.48 \n \"/>\n<polyline clip-path=\"url(#clip440)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 1824.04,1106.38 1824.04,1087.48 \n \"/>\n<path clip-path=\"url(#clip440)\" d=\"M199.22 1131.73 Q195.609 1131.73 193.78 1135.3 Q191.974 1138.84 191.974 1145.97 Q191.974 1153.07 193.78 1156.64 Q195.609 1160.18 199.22 1160.18 Q202.854 1160.18 204.66 1156.64 Q206.488 1153.07 206.488 1145.97 Q206.488 1138.84 204.66 1135.3 Q202.854 1131.73 199.22 1131.73 M199.22 1128.03 Q205.03 1128.03 208.086 1132.63 Q211.164 1137.22 211.164 1145.97 Q211.164 1154.69 208.086 1159.3 Q205.03 1163.88 199.22 1163.88 Q193.41 1163.88 190.331 1159.3 Q187.275 1154.69 187.275 1145.97 Q187.275 1137.22 190.331 1132.63 Q193.41 1128.03 199.22 1128.03 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip440)\" d=\"M565.042 1128.65 L583.398 1128.65 L583.398 1132.59 L569.324 1132.59 L569.324 1141.06 Q570.343 1140.71 571.362 1140.55 Q572.38 1140.36 573.399 1140.36 Q579.186 1140.36 582.565 1143.54 Q585.945 1146.71 585.945 1152.12 Q585.945 115
},
"execution_count": 102,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"avg_s = cumsum(x)./(1:10_000)\n",
"\n",
"plot(1:2000, avg_s[1:2000], xlabel=\"s\", title=\"sample average over observation 1 to s\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Task 3\n",
"\n",
"(a) Code up a function `SimulateAvg(T,NSim)` which calculates `NSim` different sample averages from `NSim` different samples of length `T` where the data is drawn from $x=z-2$ where $z$ has a `Chisq(2)` distribution. \n",
"\n",
"(b) Simulate 10000 samples of length 5, and estimate the average of x in each sample. Plot a histogram over the averages, using the bins `-3:0.1:3`. Repeat for sample lengths of 25, 100 and 1000."
]
},
{
"cell_type": "code",
"execution_count": 103,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"800\" height=\"600\" viewBox=\"0 0 3200 2400\">\n<defs>\n <clipPath id=\"clip480\">\n <rect x=\"0\" y=\"0\" width=\"3200\" height=\"2400\"/>\n </clipPath>\n</defs>\n<path clip-path=\"url(#clip480)\" d=\"\nM0 2400 L3200 2400 L3200 0 L0 0 Z\n \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n<defs>\n <clipPath id=\"clip481\">\n <rect x=\"640\" y=\"0\" width=\"2241\" height=\"2241\"/>\n </clipPath>\n</defs>\n<path clip-path=\"url(#clip480)\" d=\"\nM164.598 1074.13 L1537.92 1074.13 L1537.92 47.2441 L164.598 47.2441 Z\n \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n<defs>\n <clipPath id=\"clip482\">\n <rect x=\"164\" y=\"47\" width=\"1374\" height=\"1028\"/>\n </clipPath>\n</defs>\n<polyline clip-path=\"url(#clip482)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 240.133,1074.13 240.133,47.2441 \n \"/>\n<polyline clip-path=\"url(#clip482)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 443.842,1074.13 443.842,47.2441 \n \"/>\n<polyline clip-path=\"url(#clip482)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 647.55,1074.13 647.55,47.2441 \n \"/>\n<polyline clip-path=\"url(#clip482)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 851.258,1074.13 851.258,47.2441 \n \"/>\n<polyline clip-path=\"url(#clip482)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 1054.97,1074.13 1054.97,47.2441 \n \"/>\n<polyline clip-path=\"url(#clip482)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 1258.67,1074.13 1258.67,47.2441 \n \"/>\n<polyline clip-path=\"url(#clip482)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 1462.38,1074.13 1462.38,47.2441 \n \"/>\n<polyline clip-path=\"url(#clip480)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 164.598,1074.13 1537.92,1074.13 \n \"/>\n<polyline clip-path=\"url(#clip480)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 240.133,1074.13 240.133,1055.23 \n \"/>\n<polyline clip-path=\"url(#clip480)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 443.842,1074.13 443.842,1055.23 \n \"/>\n<polyline clip-path=\"url(#clip480)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 647.55,1074.13 647.55,1055.23 \n \"/>\n<polyline clip-path=\"url(#clip480)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 851.258,1074.13 851.258,1055.23 \n \"/>\n<polyline clip-path=\"url(#clip480)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 1054.97,1074.13 1054.97,1055.23 \n \"/>\n<polyline clip-path=\"url(#clip480)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 1258.67,1074.13 1258.67,1055.23 \n \"/>\n<polyline clip-path=\"url(#clip480)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 1462.38,1074.13 1462.38,1055.23 \n \"/>\n<path clip-path=\"url(#clip480)\" d=\"M209.601 1124.37 L239.277 1124.37 L239.277
},
"execution_count": 103,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function SimulateAvg(T, NSim)\n",
" # Create an array with NSim elements and initialize it with the value NaN. This is bc of if we don't put a number in it later, we will receive an error on the next computation\n",
" avg = fill(NaN, NSim)\n",
" for i = 1:NSim\n",
" x_1 = rand(Chisq(2),T) .- 2\n",
" avg[i] = mean(x_1)\n",
" end\n",
" \n",
" return avg\n",
"end\n",
"\n",
"NSim = 10_000\n",
"\n",
"avg_5 = SimulateAvg(5, NSim)\n",
"avg_25 = SimulateAvg(25, NSim)\n",
"avg_100 = SimulateAvg(100, NSim)\n",
"avg_1000 = SimulateAvg(1000, NSim)\n",
"\n",
"# printmat(avg_5)\n",
"\n",
"function getHistogram(values)\n",
" return histogram(values, \n",
" bins = -3:0.1:3,\n",
" normalized = true, legend=false )\n",
"end\n",
"\n",
"plot(getHistogram(avg_5), getHistogram(avg_25), getHistogram(avg_100), getHistogram(avg_1000), layout = (2,2), size=(800, 600))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Task 4: Central Limit Theorem\n",
"\n",
"Multiply each averages (calculated above) with the square root of the sample size (5, 25, 100, or 1000) and divide by $\\sigma$ (to get $\\sqrt{T} \\bar{x} /\\sigma$) and plot histograms again. In each subplot, add the pdf of a N$(0,1)$ variable. Recall that $\\sigma=2$.\n",
"\n",
"Notice $\\sqrt{T} \\bar{x}$ should converge to a normally distributed variable (with a zero mean since $x$ has). Dividing by $\\sigma$ should make it a standard normal."
]
},
{
"cell_type": "code",
"execution_count": 115,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"800\" height=\"600\" viewBox=\"0 0 3200 2400\">\n<defs>\n <clipPath id=\"clip800\">\n <rect x=\"0\" y=\"0\" width=\"3200\" height=\"2400\"/>\n </clipPath>\n</defs>\n<path clip-path=\"url(#clip800)\" d=\"\nM0 2400 L3200 2400 L3200 0 L0 0 Z\n \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n<defs>\n <clipPath id=\"clip801\">\n <rect x=\"640\" y=\"0\" width=\"2241\" height=\"2241\"/>\n </clipPath>\n</defs>\n<path clip-path=\"url(#clip800)\" d=\"\nM164.598 1074.13 L1552.76 1074.13 L1552.76 47.2441 L164.598 47.2441 Z\n \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n<defs>\n <clipPath id=\"clip802\">\n <rect x=\"164\" y=\"47\" width=\"1389\" height=\"1028\"/>\n </clipPath>\n</defs>\n<polyline clip-path=\"url(#clip802)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 240.949,1074.13 240.949,47.2441 \n \"/>\n<polyline clip-path=\"url(#clip802)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 446.859,1074.13 446.859,47.2441 \n \"/>\n<polyline clip-path=\"url(#clip802)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 652.768,1074.13 652.768,47.2441 \n \"/>\n<polyline clip-path=\"url(#clip802)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 858.677,1074.13 858.677,47.2441 \n \"/>\n<polyline clip-path=\"url(#clip802)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 1064.59,1074.13 1064.59,47.2441 \n \"/>\n<polyline clip-path=\"url(#clip802)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 1270.5,1074.13 1270.5,47.2441 \n \"/>\n<polyline clip-path=\"url(#clip802)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n 1476.4,1074.13 1476.4,47.2441 \n \"/>\n<polyline clip-path=\"url(#clip800)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 164.598,1074.13 1552.76,1074.13 \n \"/>\n<polyline clip-path=\"url(#clip800)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 240.949,1074.13 240.949,1055.23 \n \"/>\n<polyline clip-path=\"url(#clip800)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 446.859,1074.13 446.859,1055.23 \n \"/>\n<polyline clip-path=\"url(#clip800)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 652.768,1074.13 652.768,1055.23 \n \"/>\n<polyline clip-path=\"url(#clip800)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 858.677,1074.13 858.677,1055.23 \n \"/>\n<polyline clip-path=\"url(#clip800)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 1064.59,1074.13 1064.59,1055.23 \n \"/>\n<polyline clip-path=\"url(#clip800)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 1270.5,1074.13 1270.5,1055.23 \n \"/>\n<polyline clip-path=\"url(#clip800)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n 1476.4,1074.13 1476.4,1055.23 \n \"/>\n<path clip-path=\"url(#clip800)\" d=\"M210.417 1124.37 L240.093 1124.37 L240.093 112
},
"execution_count": 115,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"σ = 2\n",
"pdfN01 = pdf(Normal(0,1), -3:0.1:3)\n",
"\n",
"function getHistogramWithPdf(values)\n",
" p = histogram(values, \n",
" bins = -3:0.1:3,\n",
" normalized = true,\n",
" legend=false \n",
" )\n",
" plot!(-3:0.1:3, pdfN01, linewidth=2)\n",
" return p\n",
"end\n",
"\n",
"plot(getHistogramWithPdf(avg_5 * sqrt(5) / σ),\n",
" getHistogramWithPdf(avg_25 * sqrt(25) / σ),\n",
" getHistogramWithPdf(avg_100 * sqrt(100) / σ),\n",
" getHistogramWithPdf(avg_1000 * sqrt(1000) / σ),\n",
" layout = (2,2),\n",
" size = (800,600)\n",
" )"
]
}
],
"metadata": {
"@webio": {
"lastCommId": null,
"lastKernelId": null
},
"kernelspec": {
"display_name": "Julia 1.7.0-rc1",
"language": "julia",
"name": "julia-1.7"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.7.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}