Kto stworzył pierwszy standardowy stół normalny?

61

Mam zamiar przedstawić standardową tabelę normalną w mojej klasie wprowadzającej i zastanawiam się: kto stworzył pierwszą standardową tabelę normalną? Jak to zrobili, zanim pojawiły się komputery? Drżę na myśl o kimś brutalnym, który ręcznie oblicza tysiąc sum Riemanna.

Daniel Smolkin
źródło
5
Miło widzieć kogoś, kto chce mieć historycznie poinformowane nauczanie.
mdewey,

Odpowiedzi:

62

Laplace jako pierwszy rozpoznał potrzebę tabelaryczną, przedstawiając przybliżenie:

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

Pierwszy nowoczesny stół o rozkładzie normalnym został później zbudowany przez francuskiego astronoma Christiana Krampa w Analyze des Réfractions Astronomiques et Terrestres (Par le citoyen Kramp, Professeur de Chymie et de Physique expérimentale à l'école centrale du Département de la Roer, 1799) . Z tabel związanych z normalnym rozkładem: krótka historia Autor (autorzy): Herbert A. David Źródło: The American Statistician, t. 59, nr 4 (listopad 2005), s. 309–311 :

Ambitiously, otrzymano osiem Kramp dziesiętny ( 8 D) stoły do x=1.24, 9 D do 1.50, 10 D do 1.99, i 11 D 3.00 razem z różnicami potrzebnych do interpolacji. Zapisując pierwsze sześć pochodnych G(x), po prostu używa rozszerzenia szeregu Taylora o G(x+h) o G(x), gdzie h=.01,do terminu w 3 . h3.To pozwala mu przejść krok po kroku od x=0 do x=h,2h,3h,, po pomnożeniu hex2 o

1hx+13(2x21)h216(2x33x)h3.
Zatem przyx=0ten produkt zmniejsza się do
.01(113×.0001)=.00999967,
tak że przyG(.01)=.88622692.00999967=.87622725.


wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Ale ... jak dokładny mógłby być? OK, weźmy 2.97 jako przykład:

wprowadź opis zdjęcia tutaj

Niesamowity!

Przejdźmy do nowoczesnego (znormalizowanego) wyrażenia gaussowskiego pdf:

N(0,1)

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

z=x2x=z×2

PZ(Z>z=2.97)eax1/ax2

2π

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

z=2.97x=z×2=4.200214

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

Fantastyczny!

0.06

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

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

0.82629882

Tak blisko...


Chodzi o to ... jak dokładnie dokładnie? Po wszystkich otrzymanych głosach nie mogłem pozostawić faktycznej odpowiedzi zawieszonej. Problem polegał na tym, że wszystkie aplikacje optycznego rozpoznawania znaków (OCR), które wypróbowałem, były niesamowicie wyłączone - nic dziwnego, jeśli spojrzałeś na oryginał. Nauczyłem się więc doceniać Christiana Krampa za wytrwałość jego pracy, kiedy osobiście wpisałem każdą cyfrę w pierwszej kolumnie jego Premiery stołowej .

Po cennej pomocy @Glen_b, teraz może być bardzo dokładna i jest gotowa do skopiowania i wklejenia na konsoli R w tym łączu GitHub .

Oto analiza dokładności jego obliczeń. Przygotuj się...

  1. Bezwzględna skumulowana różnica między wartościami [R] a przybliżeniem Krampa:

0.0000012007643011

  1. Średni błąd bezwzględny (MAE) lubmean(abs(difference))zdifference = R - kramp:

0.0000000039892493 miliardowy błąd średnio!

Na wejściu, w którym jego obliczenia były najbardziej rozbieżne w porównaniu z [R], pierwsza inna wartość miejsca dziesiętnego znajdowała się na ósmej pozycji (setna milionowa). Średnio (mediana) jego pierwszy „błąd” był w dziesiątej cyfrze dziesiętnej (dziesiąta miliardowa!). I chociaż w żadnym wypadku nie do końca zgadzał się z [R], najbliższy wpis nie różni się aż do trzynastu cyfrowych wpisów.

  1. Średnia różnica względna lub mean(abs(R - kramp)) / mean(R)(taka sama jak all.equal(R[,2], kramp[,2], tolerance = 0)):

0.00000002380406

  1. Błąd średniej kwadratowej (RMSE) lub odchylenie (przypisuje większą wagę dużym błędom), obliczane jakosqrt(mean(difference^2)):

0.000000007283493


Jeśli znajdziesz zdjęcie lub portret Chistian Kramp, edytuj ten post i umieść go tutaj.

Antoni Parellada
źródło
4
Miło jest mieć dwa różne odniesienia i myślę, że dodatkowe szczegóły (takie jak wyraźne rozszerzenie Laplace'a na górny ogon) tutaj są dobre.
Glen_b
1
Jest to jeszcze lepsze z najnowszą edycją, ale nie mogę dwukrotnie głosować - doskonałe rzeczy. Należy zauważyć, że artykuł Davida wyjaśnia, dlaczego tabela Krampa nie była dokładna w stosunku do wszystkich wyświetlanych cyfr (przeprowadzono bardzo mały błąd w pierwszym kroku) - ale wciąż jest to więcej niż wystarczające dla większości zastosowań statystycznych
Glen_b
2
@ OlivierGrégoire Dziękuję za wskazanie mojej błędnie wpisanej cyfry dziesiętnej. To jest teraz poprawione. Dorastałem w czasach, gdy francuski był koniecznością i w żaden sposób nie oznaczał braku szacunku dla mojego dziwacznego używania języka (jest tam odniesienie, ale nieważne), które odwróciłem. Co do „citoyen Kramp” - próba podkreślenia historycznych form wprowadzenia w pracy.
Antoni Parellada,
1
Hej, przepraszam, że czułeś, że to był wstydliwy komentarz. Właśnie wskazywałam różne rzeczy, w żaden sposób nie mówię, że niczego nie szanujesz. Oczywiście możesz wymazywać lub wyolbrzymiać (lub nawet tworzyć odniesienia). Ale jako gość mówiący po francusku nie rozumiałem tego (przynajmniej to starałem się przekazać). „Le citoyen Kramp” nie miał problemu: właśnie skopiowałem i zacytowałem, bo to nie był angielski. Przepraszam, jeśli uważasz, że to był wstydliwy komentarz, to nie jest. Brakuje również mojego języka angielskiego. ^^ Twoje porównanie zostało ładnie wykonane!
Olivier Grégoire,
1
@ P.Windridge Przepraszam ... Zdałem sobie sprawę, że mam kilka zepsutych linków ...
Antoni Parellada
32

Według HA Davida [1] Laplace uznał potrzebę tabel rozkładu normalnego „już w 1783 r.”, A pierwszy stół normalny został opracowany przez Krampa w 1799 r.

0xet212 ) i jeden dla górnego ogona.

Jednak Kramp nie używał tych serii Laplace'a, ponieważ w odstępach czasowych można było je z powodzeniem zastosować.

xG(x+h)G jest całką dającą górną część ogona).

Konkretnie, cytując kilka zdań:

G(x+h)G(x)h=.01h3x=0x=h,2h,3h,...hex2

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

David wskazuje, że tabele były szeroko stosowane.

Więc zamiast tysięcy sum Riemanna były to setki ekspansji Taylora.


Z drugiej strony, w skrócie (utknąłem tylko z kalkulatorem i kilkoma zapamiętanymi wartościami ze zwykłej tabeli) całkiem skutecznie zastosowałem regułę Simpsona (i powiązane reguły integracji numerycznej), aby uzyskać dobre przybliżenie innych wartości; to nie wszystko , że żmudne produkować skróconej tabeli * do kilku figur dokładnością. [Opracowanie tabel skali i dokładności Krampa byłoby jednak dość dużym zadaniem, nawet przy użyciu mądrzejszej metody, tak jak on.]

* Przez tabelę skróconą mam na myśli taką, w której można w zasadzie uniknąć interpolacji między wartościami tabelarycznymi bez utraty zbyt dużej dokładności. Jeśli chcesz tylko powiedzieć około 3 dokładności rysunku naprawdę nie trzeba obliczyć wszystko że wiele wartości. Skutecznie zastosowałem interpolację wielomianową (a dokładniej zastosowałem techniki różnic skończonych), co pozwala na utworzenie tabeli z mniejszą liczbą wartości niż interpolacja liniowa - jeśli nieco więcej wysiłku na etapie interpolacji - a także dokonałem interpolacji z transformacją logit, która sprawia, że ​​interpolacja liniowa jest znacznie bardziej skuteczna, ale jest przydatna tylko wtedy, gdy masz dobry kalkulator).

[1] Herbert A. David (2005),
„Tabele związane z rozkładem normalnym: krótka historia”
The American Statistician , t. 59, nr 4 (listopad), s. 309–311

[2] Kramp (1799),
Analyze des Réfractions Astronomiques et Terrestres,
Lipsk: Schwikkert

Glen_b
źródło
0

Ciekawy problem! Myślę, że pierwszy pomysł nie powstał dzięki integracji złożonej formuły; raczej wynik zastosowania asymptotyków w kombinatoryce. Metoda pióra i papieru może potrwać kilka tygodni; nie tak trudne dla Karla Gaussa w porównaniu do obliczania ciasta dla jego poprzedników. Myślę, że pomysł Gaussa był odważny; obliczenia były dla niego łatwe.

Przykład tworzenia od podstaw standardowej tabeli z
1. Weź populację liczb n (powiedzmy, że 20) i wypisz z niej wszystkie możliwe próbki wielkości r (powiedzmy, że 5).
2. obliczyć średnie próbki. Otrzymujesz średnie próbki nCr (tutaj 20c5 = 15504 oznacza).
3. Ich średnia jest taka sama jak średnia populacji. Znajdź standardową próbkę środków.
4. Znajdź wyniki z średnich z próby za pomocą tych średnich pop i średnich z próbek.
5. Sortuj zw kolejności rosnącej i znajdź prawdopodobieństwo, że z znajdzie się w zakresie wartości nCr.
6. Porównaj wartości z normalnymi tabelami. Mniejszy n jest dobry do obliczeń ręcznych. Większe n spowoduje uzyskanie przybliżonych przybliżeń normalnych wartości w tabeli.

Poniższy kod znajduje się w:

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)  

Prawdopodobieństwo, że z spadnie między 0 a wartością dodatnią q poniżej; porównaj ze znaną tabelą. Manipuluj q poniżej między 0 a 3,5, aby porównać.

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
Md Towhidul Islam
źródło
3
Nie wiem, jak można w ten sposób wykorzystać próbkowanie do wygenerowania tabel. Myślę, że OP chciał tylko wiedzieć, kto był pierwszą osobą
Michael Chernick
Dziękujemy za cenny komentarz Michael Chernick. 1) OP pisze: „Jak to zrobili, zanim pojawiły się komputery? Drżę na myśl o kimś brutalnym, który ręcznie oblicza tysiące sum Riemanna”. Próbowałem odpowiedzieć na tę część. 2) Termin „próbka” nie jest sam w sobie próbką, jest funkcją r, aby utworzyć listę liczb losowych. Zamiast tego możemy wziąć dowolne 20 liczb. Zobacz link pomocniczy tutaj stackoverflow.com/questions/17773080/…
Md Towhidul Islam