Возьмём выборки разного размера из нормального распределения со средним значением 168 и стандартным отклонением 2 (можно считать, что мы извлекаем выборки из генеральной совокупности, которая представляет собой набор значений роста женщин в сантиметрах).
Начнём с небольшой выборки в 10 наблюдений. Для этого нам понадобится функция rnorm()
, которая используется для генерации случайных (псевдослучайных) выборок из нормального распределения: r
— от random, norm
— от normal
# на первом месте число наблюдений, далее - параметры распределения
sample1 <- rnorm(10, mean = 168, sd = 2)
sample1
## [1] 166.7238 170.2445 169.1134 167.7720 166.0348 167.6894 165.1281
## [8] 171.5504 166.7081 165.2724
У всех выборки будут разные, это нормально, потому что значения выбираются случайно (мы никак не фиксировали стартовую точку алгоритма, чтобы можно было воспроизвести результаты). Построим гистограмму для полученной выборки:
hist(sample1, col = "tomato")
Распределение выборки, хотя она и взята из нормального распределения, на нормальное не похоже. Это обычная история: по маленьким выборкам сложно и даже невозможно определить, из какого распределения они взяты. Однако, чем больше выборка, тем больше она напоминает распределение, которое имеет генеральная совокупность. Проверим! Возьмём выборку объёма 100 и выбоку объёма 1600 из того же нормального распределения.
sample2 <- rnorm(100, mean = 168, sd = 2)
head(sample2) # head - первые несколько значений
## [1] 170.3875 171.6139 170.9286 171.5948 167.4428 163.9407
hist(sample2, col = "tomato")
sample3 <- rnorm(1600, mean = 168, sd = 2)
head(sample3)
## [1] 164.5301 167.1427 163.5454 170.6361 164.0977 168.4016
hist(sample3, col = "tomato")
Что мы здесь видим? С увеличением размера выборки, её распределение становится более похожим на нормальное, то есть на то распределение, из которого она взята! Теперь посмотрим на выборочные средние:
mean(sample1)
## [1] 167.6237
mean(sample2)
## [1] 168.3621
mean(sample3)
## [1] 167.9752
Среднее самой большой выборки находится ближе других к среднему генеральной совокупности \(\mu = 168\). Это неслучайно. Этот пример — иллюстрация закона больших чисел.
Закон больших чисел
С увеличением размера выборки, среднее значение выборки становится ближе к среднему значению генеральной совокупности
Сгенерируем генеральную совокупность, имеющую равномерное распределение, заданное на участке от 0 до 1. В R сгенерировать генеральную совокупность (случайную величину) явно не получится, поэтому просто возьмём выборку очень большого размера, в 10000 наблюдений.
# r - random, unif - uniform
pop <- runif(10000)
hist(pop, col = "tomato")
Распределение pop
действительно похоже на равномерное — значения попадают в маленькие интервалы на участке от 0 до 1 с примерно одинаковой вероятностью. Теперь возьмём 100 выборок по 100 наблюдений и посчитаем среднее по каждой выборке, чтобы получить набор из 100 средних значений.
n <- 100 # объём выборки
samples <- matrix(sample(pop), ncol = n, byrow=TRUE)
head(samples)
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] 0.25253464 0.6048373 0.1120764 0.7042839 0.6442843 0.9307029
## [2,] 0.54238557 0.4790940 0.8515604 0.9885117 0.6776410 0.5369682
## [3,] 0.05136069 0.1418547 0.8156726 0.8424964 0.7471005 0.4858066
## [4,] 0.64091079 0.2861686 0.1263656 0.1180778 0.1679090 0.2798463
## [5,] 0.88558130 0.5688722 0.5335426 0.8810917 0.7048237 0.8501140
## [6,] 0.32216599 0.1267083 0.5838180 0.7270188 0.8923993 0.7418129
## [,7] [,8] [,9] [,10] [,11] [,12]
## [1,] 0.9226540 0.94369900 0.72749028 0.7484419 0.5889316 0.4341936
## [2,] 0.4789530 0.45115780 0.58420363 0.4272518 0.6329871 0.7689942
## [3,] 0.6526280 0.01572889 0.83989616 0.2330100 0.7380151 0.3577363
## [4,] 0.7015826 0.65366985 0.35940178 0.9406408 0.9401310 0.7787359
## [5,] 0.2592665 0.71617130 0.09733329 0.7590068 0.3254491 0.5734014
## [6,] 0.1762050 0.84044827 0.88834454 0.7592615 0.4512880 0.7329045
## [,13] [,14] [,15] [,16] [,17] [,18]
## [1,] 0.2467701 0.57893326 0.30622057 0.04826390 0.91406044 0.4976913
## [2,] 0.8109705 0.78634200 0.66686042 0.21749819 0.95616177 0.5150701
## [3,] 0.2534628 0.74885421 0.61441464 0.60132816 0.52343776 0.5575380
## [4,] 0.9004629 0.08627078 0.02416688 0.06258015 0.35289718 0.1194729
## [5,] 0.7467240 0.64632862 0.71004235 0.59268516 0.04125081 0.4347754
## [6,] 0.8101692 0.47509325 0.55413052 0.28464852 0.02552817 0.3376230
## [,19] [,20] [,21] [,22] [,23] [,24]
## [1,] 0.80079157 0.6284660 0.5596220 0.99335567 0.9837376 0.7684843
## [2,] 0.55433442 0.8211292 0.6410040 0.29156934 0.8025888 0.9500621
## [3,] 0.36813615 0.3962830 0.8619933 0.06099387 0.5137753 0.8899046
## [4,] 0.08627411 0.0107513 0.2459354 0.60885324 0.8712295 0.3226289
## [5,] 0.96139717 0.8817247 0.5616806 0.11072032 0.2927444 0.5130740
## [6,] 0.51857559 0.2961325 0.9500004 0.18598954 0.6084520 0.1208585
## [,25] [,26] [,27] [,28] [,29] [,30]
## [1,] 0.056643001 0.5601577 0.1010051 0.7267559 0.52550383 0.1309819
## [2,] 0.077657723 0.1321452 0.2041845 0.2644196 0.01619130 0.9573450
## [3,] 0.314072466 0.9891555 0.9292971 0.4107244 0.86526672 0.5903667
## [4,] 0.017226330 0.5166016 0.4455455 0.8901455 0.95436934 0.8063527
## [5,] 0.003121643 0.8405573 0.5470341 0.9676222 0.08114396 0.3352716
## [6,] 0.454076978 0.3559809 0.9149623 0.6085547 0.48642456 0.4822950
## [,31] [,32] [,33] [,34] [,35] [,36]
## [1,] 0.83778743 0.5700086 0.2498711 0.02827024 0.96431471 0.3645167
## [2,] 0.02555281 0.5159865 0.5338363 0.32410578 0.51716193 0.9006759
## [3,] 0.54300546 0.1493465 0.5696305 0.05593185 0.04544336 0.5435706
## [4,] 0.05266003 0.8033591 0.1683850 0.06972320 0.31833114 0.2330797
## [5,] 0.94513225 0.1774498 0.9302991 0.44399131 0.63433533 0.2015208
## [6,] 0.81885744 0.2898139 0.1014731 0.85049628 0.88091998 0.2130813
## [,37] [,38] [,39] [,40] [,41] [,42]
## [1,] 0.9778000 0.4564421 0.18050035 0.05675542 0.9103870 0.8521705
## [2,] 0.3457236 0.2902538 0.89622822 0.16911163 0.8115964 0.2780680
## [3,] 0.1042093 0.4268026 0.08390945 0.37350097 0.1736714 0.2749725
## [4,] 0.9679119 0.6226894 0.09622330 0.98176818 0.4122831 0.5116069
## [5,] 0.0291671 0.5890242 0.91033926 0.78496373 0.4556121 0.5279219
## [6,] 0.7502074 0.2968820 0.35309553 0.80507799 0.7274381 0.6927189
## [,43] [,44] [,45] [,46] [,47] [,48]
## [1,] 0.0285182 0.97940688 0.4120297 0.6185277 0.9950445 0.71557809
## [2,] 0.3395426 0.28591970 0.7265989 0.3859044 0.6459479 0.89909963
## [3,] 0.9461246 0.47508318 0.1528767 0.1401421 0.6998408 0.87350392
## [4,] 0.2310707 0.09271691 0.1360822 0.9211842 0.3875182 0.05130682
## [5,] 0.8295985 0.45069025 0.7904222 0.4579932 0.9316555 0.24186699
## [6,] 0.4817023 0.95556581 0.8446628 0.2193911 0.5723660 0.51953813
## [,49] [,50] [,51] [,52] [,53] [,54]
## [1,] 0.3583215 0.2908366 0.7290419 0.48348664 0.60925610 0.1932489
## [2,] 0.7539657 0.6927189 0.3608881 0.03552427 0.05929929 0.6510901
## [3,] 0.5387609 0.8540449 0.8305740 0.57403451 0.95370569 0.3379989
## [4,] 0.5243989 0.3808420 0.4075077 0.62159225 0.50716503 0.7602154
## [5,] 0.7961272 0.4093880 0.6474339 0.74336851 0.45825170 0.9077446
## [6,] 0.6899072 0.7085979 0.9754258 0.28751769 0.69864791 0.8295263
## [,55] [,56] [,57] [,58] [,59] [,60]
## [1,] 0.7007838 0.80003993 0.44324993 0.01359110 0.9336269 0.1338838
## [2,] 0.9291143 0.61339507 0.57103703 0.05117049 0.6949814 0.2886079
## [3,] 0.1693435 0.09436712 0.03042084 0.18050745 0.4845557 0.9644382
## [4,] 0.7480818 0.77834343 0.93718292 0.60326481 0.7437766 0.3649971
## [5,] 0.1247414 0.29574211 0.13200768 0.05891040 0.8786080 0.3581330
## [6,] 0.4622102 0.82196554 0.06567070 0.81297604 0.1839949 0.7971886
## [,61] [,62] [,63] [,64] [,65] [,66]
## [1,] 0.1726562 0.46657657 0.9822015 0.2735483 0.73866836 0.7689205
## [2,] 0.5171008 0.32729632 0.1033557 0.3591743 0.58722030 0.5575302
## [3,] 0.6114934 0.04985307 0.8141345 0.8763546 0.80962423 0.1911226
## [4,] 0.9394380 0.63607010 0.4951791 0.9517700 0.59296902 0.6119865
## [5,] 0.6471029 0.26423662 0.5251542 0.3733142 0.92564560 0.4076920
## [6,] 0.3940398 0.63471983 0.4774874 0.7447896 0.06351662 0.5440559
## [,67] [,68] [,69] [,70] [,71] [,72]
## [1,] 0.42225000 0.2902407 0.81714163 0.5275372 0.86774410 0.03373301
## [2,] 0.41197212 0.2194674 0.44384912 0.5822506 0.40009204 0.54229735
## [3,] 0.95409093 0.3041264 0.06218011 0.5224355 0.88188272 0.67313110
## [4,] 0.63556919 0.2146097 0.99160414 0.3369687 0.37291859 0.17374379
## [5,] 0.48920730 0.6402341 0.64525409 0.3318660 0.06242573 0.90216793
## [6,] 0.04349286 0.5803902 0.41239762 0.8983621 0.19443339 0.18619177
## [,73] [,74] [,75] [,76] [,77] [,78]
## [1,] 0.3190532 0.15547449 0.05841881 0.1203186 0.3220667 0.01149011
## [2,] 0.1496276 0.01012163 0.44003553 0.6238223 0.6962088 0.52443868
## [3,] 0.7387842 0.14062207 0.87495355 0.5973313 0.8915385 0.15077545
## [4,] 0.5905206 0.67136994 0.86358001 0.2486739 0.6747360 0.23639490
## [5,] 0.3830527 0.38292832 0.85688832 0.2023011 0.7027584 0.81653061
## [6,] 0.9381456 0.29467348 0.89014513 0.6101826 0.6421031 0.02353872
## [,79] [,80] [,81] [,82] [,83] [,84]
## [1,] 0.199218625 0.5999277 0.9839409 0.95044711 0.4070534 0.8223653
## [2,] 0.731171423 0.3679688 0.9540744 0.16683560 0.9009431 0.5773375
## [3,] 0.452679745 0.3854687 0.6179634 0.70377606 0.2227756 0.5823472
## [4,] 0.855352242 0.3533272 0.7126719 0.03245454 0.9482777 0.2746656
## [5,] 0.007973219 0.1847215 0.8887560 0.71253157 0.9068799 0.7220145
## [6,] 0.701162741 0.7703045 0.2190340 0.54843093 0.5559640 0.2226537
## [,85] [,86] [,87] [,88] [,89] [,90]
## [1,] 0.09646905 0.6298552 0.18865462 0.29554517 0.7141586 0.6063927
## [2,] 0.13124077 0.8023685 0.02306401 0.01614773 0.8779357 0.5447723
## [3,] 0.85767304 0.6971024 0.14742048 0.72575694 0.5427949 0.8124634
## [4,] 0.15396171 0.1291192 0.25423157 0.48975383 0.4963471 0.7201637
## [5,] 0.77521787 0.8507781 0.67539759 0.40316842 0.9785732 0.8321596
## [6,] 0.23933202 0.9453990 0.44542322 0.89162037 0.3880001 0.9255889
## [,91] [,92] [,93] [,94] [,95] [,96]
## [1,] 0.176394710 0.5704873 0.33603278 0.6796290 0.03896341 0.25391227
## [2,] 0.325189775 0.4950585 0.84432935 0.4407600 0.53812931 0.31609945
## [3,] 0.000085023 0.7584403 0.30430282 0.2916290 0.26308446 0.78993461
## [4,] 0.535920996 0.8823511 0.83255058 0.9723170 0.64987957 0.03156893
## [5,] 0.500518675 0.3868442 0.56324472 0.9677622 0.65277323 0.55516072
## [6,] 0.899638829 0.7964377 0.07122067 0.2439924 0.84217042 0.60516797
## [,97] [,98] [,99] [,100]
## [1,] 0.08414774 0.1353748 0.532064849 0.60353606
## [2,] 0.10553672 0.7549113 0.649762765 0.49524208
## [3,] 0.72138421 0.5706406 0.764610926 0.05891668
## [4,] 0.05720672 0.2899508 0.593813782 0.77941607
## [5,] 0.43021729 0.8493530 0.218202758 0.30031500
## [6,] 0.67111106 0.4055744 0.005122877 0.12546434
Комментарии по коду: samples
— матрица, таблица из 100 строк (100 выборок, одна строка соответствует одной выборке) и 100 столбцов (100 наблюдений в каждой выборке-строке). Функция sample()
случайным образом перемешивает pop
, а потом мы размещаем перемешанные значения по строкам (byrow=TRUE
), то есть записываем первые 100 значений на одну строку, следующие 100 — на вторую и так далее.
Теперь посчитаем среднее по каждой строке в таблице samples
и получим набор из 100 средних значений. Посмотрим на их распределение:
means <- rowMeans(samples)
means
## [1] 0.5018148 0.5023309 0.5047031 0.4903388 0.5548632 0.5351027 0.5284790
## [8] 0.4903183 0.5489751 0.5587722 0.5057069 0.5435441 0.4953382 0.4606917
## [15] 0.4975978 0.5144451 0.5225692 0.4986309 0.5178898 0.5124067 0.4705758
## [22] 0.5403311 0.4910755 0.5000841 0.5102576 0.5116314 0.5047953 0.4850001
## [29] 0.4796741 0.4636641 0.5084976 0.4506719 0.4763740 0.4971598 0.5022161
## [36] 0.4854674 0.5170760 0.5010058 0.5416803 0.4237497 0.5025785 0.4318912
## [43] 0.4965070 0.4969889 0.4803708 0.4780691 0.5354271 0.5048770 0.5606495
## [50] 0.5027228 0.5245079 0.5605773 0.5246390 0.5213570 0.5100066 0.5226213
## [57] 0.4787042 0.5598942 0.4999838 0.4909580 0.4679096 0.5225816 0.5680903
## [64] 0.5390088 0.4831994 0.4761475 0.5311902 0.4809104 0.5074622 0.5089559
## [71] 0.5437587 0.5251970 0.4404596 0.4910578 0.5002923 0.4454307 0.5010049
## [78] 0.5292039 0.5268558 0.5260351 0.4995016 0.4838137 0.4543753 0.5015211
## [85] 0.4887251 0.4283811 0.4912451 0.4994131 0.4803270 0.4663685 0.4778306
## [92] 0.4962311 0.4641403 0.5313264 0.4728696 0.5358174 0.5354800 0.5245546
## [99] 0.5003522 0.5001786
hist(means, col = "tomato")
Распределение средних выглядит как нормальное! Это тоже неслучайно. Этот пример — иллюстрация действия центральной предельной теоремы.
Центральная предельная теорема
Пусть у нас есть генеральная совокупность со средним значением \(\mu\) и стандартным отклонением \(\sigma\). Если мы извлечем из этой совокупности все возможные выборки достаточно большого размера \(n\) (\(n \geq 30\)) и посчитаем по каждой выборке среднее значение, то эти средние значения будут примерно нормально распределены со средним \(\mu\) и стандартным отклонением \(\frac{\sigma}{\sqrt{n}}\).
Что распределение нормальное, видно по гистограмме (формально проверять пока не будем). Лучше проверим, что среднее средних действительно совпадает со средним генеральной совокупности, а стандартное отклонение равно \(\frac{\sigma}{\sqrt{n}}\).
mean(pop)
## [1] 0.5027604
mean(means)
## [1] 0.5027604
Среднее средних совпало со средним генеральной совокупности pop
!
sd(pop) / 10
## [1] 0.02876533
sd(means)
## [1] 0.02995408
Со стандартным отклонением набора средних всё тоже ожидаемо, оно примерно равно \(\frac{\sigma}{\sqrt{n}} = \frac{0.28}{\sqrt{100}} = 0.028\).