Кто создал первую стандартную нормальную таблицу?


61

Я собираюсь представить стандартную нормальную таблицу в своем классе вводной статистики, и это заставило меня задуматься: кто создал первую стандартную нормальную таблицу? Как они это делали до появления компьютеров? Мне страшно подумать, что кто-то перебор вычисляет тысячу римановых сумм вручную.


5
Приятно видеть кого-то, желающего иметь исторически обоснованное обучение.
mdewey

Ответы:


62

Лаплас был первым, кто осознал необходимость табуляции, придумав следующее приближение:

G(x)=xet2dt(1)=1x12x3+134x51358x7+135716x9+

Первая современная таблица нормального распределения была позже построена французским астрономом Кристианом Крампом в « Анализе астрономических и космических исследований» («Par le citoyen Kramp», «Эксперт по физкультуре и физическому искусству», 1799 г.) , Из таблиц, относящихся к нормальному распределению: краткая история Автор (ы): Герберт А. Дэвид Источник: Американский статистик, Vol. 59, № 4 (ноябрь 2005 г.), с. 309-311 :

Честно говоря, Крамп дал восемь десятичных ( D) таблиц до D до D до и от D до вместе с различиями, необходимыми для интерполяции. Записывая первые шесть производных он просто использует разложение в ряд Тейлора относительно с вплоть до члена вЭто позволяет ему шаг за шагом переходить от к умножая на8x=1.24, 91.50, 101.99,113.00G(x),G(x+h)G(x),h=.01,h3.x=0x=h,2h,3h,,hex2

1hx+13(2x21)h216(2x33x)h3.
Таким образом, при это произведение уменьшается до так что приx=0
.01(113×.0001)=.00999967,
G(.01)=.88622692.00999967=.87622725.


введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Но ... насколько точным он мог быть? Хорошо, давайте возьмем в качестве примера:2.97

введите описание изображения здесь

Удивительно!

Давайте перейдем к современному (нормализованному) выражению гауссовского pdf:

PDF :N(0,1)

fX(X=x)=12πex22=12πe(x2)2=12πe(z)2

где . И, следовательно, .z=x2x=z×2

Итак, давайте перейдем к R и посмотрим на ... ОК, не так быстро. Во-первых, мы должны помнить, что когда есть постоянная, умножающая показатель степени в показательной функции , интеграл будет разделен на этот показатель степени: . Поскольку мы стремимся воспроизвести результаты в старых таблицах, мы фактически умножаем значение на , которое должно появиться в знаменателе.PZ(Z>z=2.97)eax1/ax2

Далее, Кристиан Крамп не нормализовал, поэтому мы должны соответствующим образом исправить результаты, заданные R, умножив на . Окончательная коррекция будет выглядеть так:2π

2π2P(X>x)=πP(X>x)

В приведенном выше случае и . Теперь давайте перейдем к R:z=2.97x=z×2=4.200214

(R = sqrt(pi) * pnorm(x, lower.tail = F))
[1] 0.00002363235e-05

Фантастика!

Давайте пойдем на вершину таблицы для развлечения, скажем, ...0.06

z = 0.06
(x = z * sqrt(2))

(R = sqrt(pi) * pnorm(x, lower.tail = F))
[1] 0.8262988

Что говорит Крамп? .0.82629882

Так близко...


Дело в том ... насколько близко, точно? После всех полученных голосов я не мог оставить фактический ответ без ответа. Проблема заключалась в том, что все приложения оптического распознавания символов (OCR), которые я пробовал, были невероятно отключены - неудивительно, если вы взглянули на оригинал. Итак, я научился ценить Кристиана Крампа за упорство его работы, так как лично набирал каждую цифру в первом столбце его таблицы «Премьера» .

После некоторой ценной помощи от @Glen_b, теперь она вполне может быть точной, и она готова скопировать и вставить на консоль R в этой ссылке GitHub .

Вот анализ точности его расчетов. Готовьтесь ...

  1. Абсолютная кумулятивная разница между значениями [R] и приближением Крампа:

0.000001200764 - в ходе вычисления ему удалось накопить ошибку примерно в миллионную!3011

  1. Средняя абсолютная ошибка (MAE) илиmean(abs(difference))сdifference = R - kramp:

0.000000003989249 - он в среднем совершил невероятно нелепую -миллиардную ошибку!3

На записи, в которой его расчеты были наиболее расходящимися по сравнению с [R], первое разное десятичное значение было на восьмой позиции (сто миллионов). В среднем (медиана) его первой «ошибкой» была десятая десятичная цифра (десятая миллиардная!). И хотя он ни в коем случае не полностью соглашался с [R], ближайшая запись не расходится до тринадцати цифровых записей.

  1. Средняя относительная разница или mean(abs(R - kramp)) / mean(R)(такая же как all.equal(R[,2], kramp[,2], tolerance = 0)):

0.00000002380406

  1. Среднеквадратическая ошибка (RMSE) или отклонение (придает больший вес крупным ошибкам), рассчитывается какsqrt(mean(difference^2)):

0.000000007283493


Если вы найдете изображение или портрет Кристиана Крампа, пожалуйста, отредактируйте этот пост и разместите его здесь.


4
Приятно иметь две разные ссылки, и я думаю, что дополнительные детали (например, явное расширение, которое Лаплас дал для верхнего хвоста) здесь хороши.
Glen_b

1
Это даже лучше с последним редактированием, но я не могу сказать дважды - отличные вещи. Обратите внимание, что статья Дэвида объясняет, почему таблица Крампа не имела точности для всех показанных цифр (была
пропущена

2
@ OlivierGrégoire Спасибо, что указали на мою опечатку. Сейчас это исправлено. Я вырос в то время, когда французский был необходим, и ни в коем случае не означал никакого неуважения к моему странному использованию языка (там есть упоминание, но не говоря уже о нем), которое я полностью изменил. Что касается "Citoyen Kramp" - попытка выделения исторических форм введения в статье.
Антони Пареллада

1
Эй, извините, вы почувствовали, что это был ужасный комментарий. Я просто указывал на вещи, я ни в коем случае не говорю, что ты ничего не уважал. Вы можете, конечно, каламбур или преувеличить (или даже сделать ссылку). Но как франкоязычный парень, я этого не понял (по крайней мере, я пытался это передать). У «Le citoyen Kramp» не было никаких проблем: я просто копировал и вставлял цитаты, потому что это был не английский. Извините, если вы почувствовали, что это был резкий комментарий, это не так. Мое использование английского также не хватает. ^^ Ваше сравнение было хорошо сделано!
Оливье Грегуар

1
@ P.Windridge Извините ... Я понял, что у меня куча неработающих гиперссылок ...
Антони Пареллада

32

Согласно HA Дэвида [1], Лаплас признал необходимость таблиц нормального распределения «еще в 1783 году», и первая нормальная таблица была произведена Крампом в 1799 году.

Лаплас предложил две серии приближений, одно для интеграла от до из (которое пропорционально нормальному распределению с дисперсией ) и одно для верхнего хвоста.0xet212

Тем не менее, Крамп не использовал эти серии Лапласа, так как в промежутках между ними можно было с пользой применять их.

Фактически он начинает с интеграла для области хвоста от 0, а затем применяет разложение Тейлора к последнему вычисленному интегралу - то есть, вычисляя новые значения в таблице, он сдвигает своего разложения Тейлора (где - интеграл, дающий верхнюю область хвоста).xG(x+h)G

Чтобы быть конкретным, цитируя соответствующую пару предложений:

он просто использует разложение в ряд Тейлора относительно , с , до слагаемого в . Это позволяет ему шаг за шагом переходить от к , после умножения наТаким образом, при это произведение уменьшается до так что при , Следующий член слева от (4) может быть показан как , так что его пропуск оправдан.G(x+h)G(x)h=.01h3x=0x=h,2h,3h,...hex2х=0.01(1-1

1hx+13(2x21)h216(2x33x)h3.
x=0G ( .01 ) = .88622692 - .00999967 = .87622725 10 - 9
.01(113×.0001)=.00999967,(4)
G(.01)=.88622692.00999967=.87622725109

Дэвид указывает, что таблицы широко использовались.

Таким образом, вместо тысяч сумм Римана это были сотни расширений Тейлора.


На более мелкой ноте, в крайнем случае (застряв только с калькулятором и несколькими запомненными значениями из обычной таблицы), я довольно успешно применил правило Симпсона (и связанные с ним правила для численного интегрирования), чтобы получить хорошее приближение при других значениях; это не все , что утомительно для получения сокращенных таблиц * до нескольких цифр точности. [Создание таблиц масштаба и точности Крампа было бы довольно большой задачей, хотя, даже используя более умный метод, как он сделал.]

* Под сокращенной таблицей я подразумеваю одну, в которой вы можете просто избежать интерполяции между табличными значениями, не теряя слишком много точности. Если вы хотите сказать, что точность составляет около 3 цифр, вам не нужно вычислять все эти значения. Я эффективно использовал полиномиальную интерполяцию (точнее, примененную методику конечных разностей), которая учитывает таблицу с меньшим количеством значений, чем линейная интерполяция - если несколько больше усилий на этапе интерполяции, - а также выполнил интерполяцию с логит-преобразованием, которое делает линейную интерполяцию значительно более эффективной, но очень полезна, если у вас есть хороший калькулятор).

[1] Герберт А. Дэвид (2005),
«Таблицы, связанные с нормальным распределением: краткая история»,
Американский статистик , Vol. 59, № 4 (ноябрь), с. 309-311

[2] Крамп (1799), «
Анализ астрономических и космических исследований»,
Лейпциг: Швиккерт.


0

Интересная проблема! Я думаю, что первая идея не пришла через интеграцию сложной формулы; скорее результат применения асимптотики в комбинаторике. Ручка и бумага метод может занять несколько недель; Карл Гаусс не так уж и жесток по сравнению с расчетом пирога для своих предшественников. Я думаю, что идея Гаусса была смелой; расчет был легок для него.

Пример создания стандартной таблицы z с нуля.
1. Возьмите совокупность из n (скажем, n равно 20) чисел и перечислите все возможные выборки размера r (скажем, r равно 5).
2. рассчитать образец средства. Вы получаете nCr примерное средство (здесь 20c5 = 15504 означает).
3. Их среднее значение совпадает со средним для населения. Найдите образец образца средства.
4. Найти z оценок выборочных средних, используя эти поп-средние и стандартные значения выборочных средних.
5. Сортируйте z в порядке возрастания и найдите вероятность того, что z находится в диапазоне значений nCr z.
6. Сравните значения с обычными таблицами. Меньшее n хорошо для ручных расчетов. Чем больше n, тем ближе приблизительные значения нормальных таблиц.

Следующий код находится в r:

n <- 20  
r <- 5  

p <- sample(1:40,n)  # Don't be misled!! Here, 'sample' is an r function  
                     used to produce n random numbers between 1 and 40.  
                     You can take any 20 numbers, possibly all different.  

c <- combn(p, r)     # all the nCr samples listed  
cmean <- array(0)  

for(i in 1:choose(n,r)) {  
    cmean[i] <- mean(c[,i])  
                }  

z <- array(0)  
for(i in 1:choose(n,r)) {  
    z[i] <- (cmean[i]-mean(c))/sd(cmean)  
                }  

ascend <- sort(z, decreasing = FALSE)  

Вероятность падения z между 0 и положительным значением q ниже; сравнить с известной таблицей. Манипулируйте q ниже от 0 до 3,5 для сравнения.

q <- 1  
probability <- (length(ascend[ascend<q])-length(ascend[ascend<0]))/choose(n,r)   
probability   # For example, if you use n=30 and r=5, then for q=1, you  
              will get probability is 0.3413; for q=2, prob is 0.4773

3
Я не вижу, как выборка может быть использована таким образом для создания таблиц. Я думаю, что ОП просто хотел узнать, кто был первым человеком
Майкл Черник

Спасибо за ваш ценный комментарий Майкл Черник. 1) ОП пишет: «Как они это делали до появления компьютеров? Мне страшно подумать о том, чтобы кто-то перебор вычислял тысячу римановых сумм вручную». Я пытался ответить на эту часть. 2) Термин «выборка» не является выборкой как таковой, это функция r для создания списка случайных чисел. Мы можем просто взять любые 20 номеров. См. Ссылку поддержки r здесь stackoverflow.com/questions/17773080/…
Md Towhidul Islam
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.