İlk standart normal masayı kim yarattı?


61

Giriş istatistikleri sınıfımda standart normal masayı tanıtmak üzereyim ve bu beni meraklandırdı: ilk standart normal masayı kim yarattı? Bilgisayarlar gelmeden önce bunu nasıl yaptılar? Binlerce Riemann toplamını elle hesaplayan kaba kuvvetli birini düşünmeye titriyorum.


5
Tarihsel olarak bilgi sahibi olmak isteyen birisini görmek güzel.
mdewey

Yanıtlar:


62

Yaklaşık olarak ortaya çıkan, tablolama ihtiyacını tanıyan ilk kişi Laplace oldu:

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

Normal dağılımın ilk modern tablosu daha sonra Fransız gökbilimci Christian Kramp tarafından Analyze des Réfractions Astronomiques ve Terrestres'te inşa edildi (Par le citoyen Kramp, Prof. . Gönderen Kısa Tarihi Yazar (lar): Herbert A. David Kaynak: Amerikan İstatistikçi, Vol Normal Dağılım İlişkin Tablolar. 59, No. 4 (Kasım 2005), sayfa 309-311 :

İddialı Kramp sekiz ondalık verdi ( kadar D) tablo D D ve D interpolasyon için gerekli farklar ile birlikte. İlk altı türevleri yazarak da sadece bir Taylor serisi açılımı kullanan hakkında ile terimin kadarBu, - çarpılması üzerine adım adım ilerlemesini sağlar .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.
Bu nedenle, bu ürün böylecex=0
.01(113×.0001)=.00999967,
G(.01)=.88622692.00999967=.87622725.


görüntü tanımını buraya girin

görüntü tanımını buraya girin

görüntü tanımını buraya girin

Ama ... ne kadar doğru olabilir? Tamam, örnek olarak alalım:2.97

görüntü tanımını buraya girin

İnanılmaz!

Gaussian pdf’in modern (normalize edilmiş) ifadesine geçelim:

pdf değeri:N(0,1)

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

burada . Ve bu nedenle, .z=x2x=z×2

Öyleyse R'ye gidelim ve ... Tamam, çok hızlı değil. İlk önce, üsteli üstel bir fonksiyonda üstelin çarpımını sabitleyen bir değişken olduğunda , integralin o üslüme bölüneceğini hatırlamalıyız : . Biz eski tablolardaki sonuçlara kopyalayan amaçlayan olduğundan, biz aslında değerini katlanarak artıyor tarafından payda görünmesini olacak.PZ(Z>z=2.97)eax1/ax2

Ayrıca, Christian Kramp normalleşmedi, bu nedenle R tarafından verilen sonuçları çarparak düzeltmemiz gerekiyor . Son düzeltme şöyle görünecek:2π

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

Yukarıdaki durumda, ve . Şimdi R'ye gidelim:z=2.97x=z×2=4.200214

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

Fantastik!

Hadi eğlenceler için masanın üstüne gidelim, diyelim ...0.06

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

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

Kramp ne diyor? .0.82629882

Çok yakın...


Mesele şu ki ... tam olarak ne kadar yakın? Tüm oylar alındıktan sonra, asıl cevabı asılı bırakamadım. Sorun, denediğim tüm optik karakter tanıma (OCR) uygulamalarının inanılmaz derecede kapalı olmasıydı - orijinali incelemeniz şaşırtıcı değildi. Bu yüzden, Christian Kramp’ın yaptığı çalışmaların azametini takdir etmeyi öğrendim, çünkü her basamağı Masa Prömiyerinin ilk sütununa şahsen yazdım .

@Glen_b'in değerli yardımlarından sonra, şimdi çok doğru olabilir ve bu GitHub bağlantısında R konsoluna kopyalayıp yapıştırmaya hazır olabilir .

İşte hesaplamalarının doğruluğunun bir analizi. Sıkı tut ...

  1. [R] değerleri ve Kramp'ın yaklaşımı arasındaki mutlak kümülatif fark :

0.000001200764 - hesaplama sırasında, yaklaşık milyonuncu hata yapmayı başardı !3011

  1. Mutlak hata ortalama (MAE) , ya damean(abs(difference))birliktedifference = R - kramp:

0.000000003989249 - çılgınca saçma bir milyarda bir hata yapmayı başardı !3

Hesaplamalarının [R] 'ye kıyasla en farklı olduğu girişte, ilk farklı ondalık basamak değeri sekizinci pozisyondaydı (yüz milyonuncu). Ortalama olarak (medyan) ilk "hatası" onuncu ondalık basamağa (onuncu milyarda!) Yapıldı. Ve, hiçbir durumda [R] ile tam olarak aynı fikirde olmamasına rağmen, en yakın giriş on üç dijital girişe kadar farklılık göstermez.

  1. Ortalama bağıl fark veya mean(abs(R - kramp)) / mean(R)(aynı all.equal(R[,2], kramp[,2], tolerance = 0)):

0.00000002380406

  1. Kök ortalama kare hatası (RMSE) veya sapma (büyük hatalara daha fazla ağırlık verir), şöyle hesaplanırsqrt(mean(difference^2)):

0.000000007283493


Bir resim veya Chistian Kramp portresi bulursanız, lütfen bu yazıyı düzenleyin ve buraya yerleştirin.


4
İki farklı referansı olması güzel ve bence ek detaylar (Laplace'in üst kuyruk için verdiği açık genişleme gibi) iyi.
Glen_b

1
Bu, en son düzenlemeyle daha da iyi, ancak iki kez daha fazla oy kullanamıyorum - excellent stuff. David'in makalesinin Kramp'ın masasının neden gösterilen tüm rakamlara karşı kesinliği olmadığını açıkladığına dikkat edin (ilk adımda çok küçük bir hata gerçekleşti) - ancak çoğu istatistiksel uygulama için hala fazlasıyla yeterli
Glen_b

2
@ OlivierGrégoire Yanlış yazılan ondalık basamağı gösterdiğiniz için teşekkür ederiz. Şimdi düzeltildi. Fransızca'nın bir zorunluluk olduğu bir zamanda büyüdüm ve hiçbir şekilde tersine çevirdiğim dili tuhaf bir şekilde kullanmaya (orada bir referans var, ama boşver) hiçbir şekilde saygısızlık etmek istemedim. "Citoyen Kramp" gelince - makalede tarihsel giriş formlarını vurgulama girişimi.
Antoni Parellada

1
Hey, üzgünüm, bunun bir yorum olduğunu hissettin. Sadece bir şeye işaret ediyordum, hiçbir şekilde saygısızlık ettiğinizi söylemiyorum. Elbette, yumruklayabilir veya abartabilirsiniz (veya hatta bir referans yapabilirsiniz). Fakat Fransızca konuşan biri olarak, bunu anlamadım (en azından aktarmaya çalıştığım şey). "Le citoyen Kramp" ın hiçbir sorunu yoktu: İngilizce değildi, çünkü kopyalayıp alıntı yaptım. Üzgünüm, bunun bir yorum olduğunu hissettin, öyle değil. İngilizce kullanımında da eksik. ^^ Karşılaştırmalarınız güzel yapıldı!
Olivier Grégoire

1
P.Windridge Üzgünüm ... Bir sürü kırık köpüğüm olduğunu anladım ...
Antoni Parellada

32

HA David'e göre [1] Laplace normal dağılım tablolarına olan ihtiyacı “1783 gibi erken bir tarihte” gördü ve ilk normal tablo 1799'da Kramp tarafından üretildi.

Laplace iki yaklaşıklığı, yekpare bir tane önerilen ile ve (varyans olan normal bir dağılıma orantılıdır üst kuyruğun ve bir).0xet212

Ancak, Kramp bu Laplace serisini kullanmadı, çünkü aralarında yararlı bir şekilde uygulanabilecekleri bir boşluk vardı.

Sonuç olarak o 0 ile arka kısmının için entegre ile başlar ve daha sonra yaklaşık bir Taylor genişleme uygulanır hesaplanan son tamamlayıcı - o kaydırır tabloda yeni değerleri hesaplar olarak yani, onun Taylor genişleme ( , üst kuyruk bölgesini veren integraldir).xG(x+h)G

Daha açık olmak gerekirse, ilgili birkaç cümleden alıntı:

sadece terimine kadar sadece ilgili Taylor serisini kullanır ile . Bu onu başlayarak adım adım hareket sağlayan ile , çarpılarak tarafındanBu nedenle, bu ürün böylece . (4) 'ün solundaki bir sonraki terimin olduğu gösterilebilir , böylece ihmali haklı çıkarılır.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, tabloların yaygın olarak kullanıldığını gösteriyor.

Binlerce Riemann toplamı yerine, yüzlerce Taylor açılımı oldu.


Daha küçük bir notta, bir tutamda (sadece bir hesap makinesi ve normal tablodan hatırlanan birkaç değerle sıkışmış) Diğer değerlerde iyi bir yaklaşım elde etmek için Simpson kuralını (ve sayısal entegrasyon için ilgili kuralları) başarıyla uyguladım; o değil tüm doğruluk birkaç rakamlara kısaltılmış tablo * üretmesi için bu sıkıcı. Kramp'ın ölçeğinin ve doğruluğunun tablolarını üretmek oldukça akıllıca bir yöntem olsa bile, oldukça büyük bir iş olacaktır.

* Kısaltılmış bir tablo ile, çok fazla doğruluk kaybetmeden tablo değerleri arasındaki enterpolasyon ile temel olarak kaçabileceğiniz bir yer anlamına gelir. Eğer sadece 3 rakam doğruluk etrafında söylemek istiyorum gerçekten hesaplamak gerekmez tüm bu çoğu değeri. Doğrusal enterpolasyondan daha az değere sahip bir tabloya izin veren - enterpolasyon aşamasında biraz daha fazla çaba harcadıysanız - ve aynı zamanda bir logit dönüşümü ile enterpolasyon yaptım, Doğrusal enterpolasyonu önemli ölçüde daha etkili kılar, ancak yalnızca iyi bir hesap makineniz varsa çok kullanışlıdır).

[1] Herbert A. David (2005),
"Normal Dağılıma İlişkin Tablolar: Kısa Bir Tarih"
Amerikan İstatisti , Vol. 59, No. 4 (Kasım), s. 309-311

[2] Kramp (1799),
Réfractions Astronomiques ve Terrestres,
Leipzig'deki analizler: Schwikkert


0

İlginç sorun! Bence ilk fikir karmaşık formüllerin entegrasyonundan gelmedi; aksine, asimtotiklerin birleştiricilere uygulanmasının sonucu. Kalem ve kağıt yöntemi birkaç hafta sürebilir; Selefi için pasta hesaplanması ile karşılaştırıldığında Karl Gauss için çok zor değil. Gauss'un fikrinin cesur olduğunu düşünüyorum; hesaplama onun için kolaydı.

Sıfırdan standart z tablosu oluşturma örneği -
1. N (n = 20'dir) sayısından bir popülasyon alın ve r'nin tüm olası örneklerini (r: 5'tir) ondan listeleyin.
2. örnekleme araçlarını hesaplar. NCr örnek yollarını alırsınız (burada 20c5 = 15504 anlamına gelir).
3. Ortalamaları, popülasyon ortalaması ile aynıdır. Örnek araçların stdevini bulun.
4. Bu pop ortalamasını ve örnek ortalamanın stdevini kullanan örnek araçların z puanlarını bulun.
5. z'yi artan düzende sıralayın ve z'nin nCr z değerlerinizdeki bir aralıkta olma olasılığını bulun.
6. Değerleri normal tablolarla karşılaştırın. Küçük n, el hesaplamaları için iyidir. Daha büyük n normal tablo değerlerine daha yakın yaklaşımlar üretecektir.

Aşağıdaki kod r'dir:

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'nin 0 ile aşağı q değerinin altına düşme olasılığı; bilinen bir tabloyla karşılaştırın. Karşılaştırma yapmak için q değerini 0 ile 3,5 arasında değiştirin.

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
Tabloları oluşturmak için örneklemenin bu şekilde nasıl kullanılabileceğini anlamıyorum. Bence OP sadece ilk kişinin kim olduğunu bilmek istedi
Michael Chernick

Değerli yorumunuz için teşekkür ederiz Michael Chernick. 1) OP, “Bilgisayarlar gelmeden önce bunu nasıl yaptılar? Binlerce Riemann toplamını elle hesaplayan kaba kuvvetli birini düşünmeye titriyorum.” O kısmı cevaplamaya çalıştım. 2) 'Örnek' terimi kendi başına örnek değildir, rastgele sayıların bir listesini üretmek için bir r işlevidir. Sadece 20 sayı da alabiliriz. Buradaki destekleyici r bağlantıya bakın stackoverflow.com/questions/17773080/…
Md Towhidul Islam
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.