Siapa yang membuat tabel normal standar pertama?

61

Saya akan memperkenalkan tabel normal standar di kelas statistik pengantar saya, dan itu membuat saya bertanya-tanya: siapa yang membuat tabel normal standar pertama? Bagaimana mereka melakukannya sebelum komputer datang? Aku ngeri memikirkan seseorang yang brute-force menghitung ribuan Riemann dengan tangan.

Daniel Smolkin
sumber
5
Senang melihat seseorang yang ingin memiliki informasi historis mengajar.
mdewey

Jawaban:

62

Laplace adalah orang pertama yang menyadari perlunya tabulasi, muncul dengan perkiraan:

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

Tabel modern pertama dari distribusi normal kemudian dibangun oleh astronom Perancis Christian Kramp dalam Analyze des Réfractions Astronomiques et Terrestres (Par le citoyen Kramp, Professeur de Chymie dan de Physique expérimentale à l'école centrale du Département de la Roer, 1799) . Dari Tabel Terkait dengan Distribusi Normal: Sejarah Singkat Penulis: Herbert A. David Sumber: The American Statistician, Vol. 59, No. 4 (November, 2005), hlm. 309-311 :

Dengan ambisius, Kramp memberikan tabel delapan desimal ( D) hingga D hingga D hingga dan D hingga bersama dengan perbedaan yang diperlukan untuk interpolasi. Menuliskan enam turunan pertama ia hanya menggunakan ekspansi deret Taylor dari tentang dengan hingga istilah dalamIni memungkinkan dia untuk melanjutkan langkah demi langkah dari ke setelah mengalikan dengan8x=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.
Jadi, pada produk ini berkurang menjadi sehingga padax=0
.01(113×.0001)=.00999967,
G(.01)=.88622692.00999967=.87622725.


masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Tapi ... seberapa akurat dia? OK, mari kita ambil sebagai contoh:2.97

masukkan deskripsi gambar di sini

Luar biasa!

Mari kita beralih ke ekspresi modern Gaussian pdf:

Pdf dari adalah:N(0,1)

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

di mana . Dan karenanya, .z=x2x=z×2

Jadi mari kita pergi ke R, dan mencari ... OK, tidak begitu cepat. Pertama-tama kita harus ingat bahwa ketika ada konstanta yang mengalikan eksponen dalam fungsi eksponensial , integral akan dibagi oleh eksponen itu: . Karena kami bertujuan mereplikasi hasil di tabel lama, kami sebenarnya mengalikan nilai dengan , yang harus muncul dalam penyebut.PZ(Z>z=2.97)eax1/ax2

Lebih jauh, Christian Kramp tidak menormalkan, jadi kita harus mengoreksi hasil yang diberikan oleh R yang sesuai, dikalikan dengan . Koreksi akhir akan terlihat seperti ini:2π

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

Dalam kasus di atas, dan . Sekarang mari kita pergi ke R:z=2.97x=z×2=4.200214

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

Fantastis!

Mari kita pergi ke atas meja untuk bersenang-senang, katakan ...0.06

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

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

Bagaimana dengan Kramp? .0.82629882

Sangat dekat ...


Masalahnya adalah ... seberapa dekat, tepatnya? Setelah semua suara diterima, saya tidak bisa membiarkan jawaban yang sebenarnya menggantung. Masalahnya adalah bahwa semua aplikasi pengenalan karakter optik (OCR) yang saya coba sangat tidak aktif - tidak mengherankan jika Anda telah melihat yang asli. Jadi, saya belajar untuk menghargai Christian Kramp atas kegigihan karyanya karena saya secara pribadi mengetik setiap digit di kolom pertama Table Première-nya .

Setelah bantuan berharga dari @Glen_b, sekarang mungkin sangat akurat, dan siap untuk menyalin dan menempel pada konsol R di tautan GitHub ini .

Berikut ini analisis keakuratan perhitungannya. Persiapkan dirimu ...

  1. Perbedaan kumulatif absolut antara nilai [R] dan perkiraan Kramp:

0.000001200764 - dalam perhitungan, ia berhasil mengakumulasi kesalahan sekitar juta!3011

  1. Berarti kesalahan absolut (MAE) , ataumean(abs(difference))dengandifference = R - kramp:

0.000000003989249 - dia berhasil membuat kesalahan satu-miliar yang keterlaluan rata-rata!3

Pada entri di mana perhitungannya paling berbeda dibandingkan dengan [R] nilai tempat desimal pertama yang berbeda berada di posisi kedelapan (ratus juta). Rata-rata (median) "kesalahan" pertamanya adalah dalam angka desimal kesepuluh (kesepuluh miliar!). Dan, meskipun ia tidak sepenuhnya setuju dengan [R] dalam hal apa pun, entri terdekat tidak akan menyimpang sampai tiga belas entri digital.

  1. Berarti perbedaan relatif atau mean(abs(R - kramp)) / mean(R)(sama dengan all.equal(R[,2], kramp[,2], tolerance = 0)):

0.00000002380406

  1. Root mean squared error (RMSE) atau penyimpangan (memberikan bobot lebih besar untuk kesalahan besar), dihitung sebagaisqrt(mean(difference^2)):

0.000000007283493


Jika Anda menemukan gambar atau potret Chistian Kramp, silakan edit posting ini dan letakkan di sini.

Antoni Parellada
sumber
4
Sangat menyenangkan memiliki dua referensi berbeda, dan saya pikir detail tambahan (seperti ekspansi eksplisit yang diberikan Laplace untuk ekor atas) di sini bagus.
Glen_b
1
Ini bahkan lebih baik dengan hasil pengeditan terakhir tetapi saya tidak dapat membenarkan dua kali - hal yang sangat baik. Perhatikan bahwa artikel David menjelaskan mengapa tabel Kramp tidak memiliki akurasi untuk semua digit yang ditunjukkan (kesalahan sangat kecil pada langkah pertama dilakukan) - tetapi masih lebih dari cukup untuk sebagian besar aplikasi statistik
Glen_b
2
@ OlivierGrégoire Terima kasih telah menunjukkan angka desimal yang salah ketik. Sekarang sudah diperbaiki. Saya tumbuh di masa ketika bahasa Prancis adalah suatu keharusan, dan sama sekali tidak berarti tidak hormat dengan penggunaan bahasa yang aneh (ada referensi di sana, tapi tidak apa-apa), yang telah saya balikkan. Adapun "citoyen Kramp" - upaya menyoroti bentuk sejarah pengantar di koran.
Antoni Parellada
1
Hei, maaf Anda merasa ini adalah komentar bashing. Saya hanya menunjuk hal-hal, saya sama sekali tidak mengatakan Anda tidak menghargai apa pun. Anda bisa menghukum atau membesar-besarkan (atau bahkan membuat referensi), tentu saja. Tetapi sebagai orang yang berbahasa Prancis, saya tidak mengerti (setidaknya itulah yang saya coba sampaikan). "Le citoyen Kramp" tidak memiliki masalah: Saya hanya menyalin dan memberi tanda kutip, karena itu bukan bahasa Inggris. Maaf jika Anda merasa itu adalah komentar bashing, itu bukan. Penggunaan bahasa Inggris saya juga kurang. ^^ Perbandingan Anda dilakukan dengan baik!
Olivier Grégoire
1
@ P.Windridge Maaf ... Saya menyadari saya memiliki banyak hyperlink yang rusak ...
Antoni Parellada
32

Menurut HA David [1] Laplace mengakui perlunya tabel distribusi normal "sedini 1783" dan tabel normal pertama diproduksi oleh Kramp pada 1799.

Laplace menyarankan dua pendekatan seri, satu untuk integral dari ke dari (yang sebanding dengan distribusi normal dengan varians ) dan satu untuk ekor atas.0xet212

Namun, Kramp tidak menggunakan seri Laplace ini, karena ada celah dalam interval waktu penerapannya.

Akibatnya ia mulai dengan integral untuk area ekor dari 0 dan kemudian menerapkan ekspansi Taylor tentang integral dihitung terakhir - yaitu, ketika ia menghitung nilai-nilai baru dalam tabel, ia menggeser ekspansi Taylor-nya (di mana adalah integral yang memberikan area ekor atas).xG(x+h)G

Untuk lebih spesifik, kutip beberapa kalimat yang relevan:

ia hanya menggunakan ekspansi deret Taylor dari tentang , dengan , hingga istilah dalam . Ini memungkinkannya untuk melanjutkan langkah demi langkah dari ke , dengan mengalikannya denganJadi, pada produk ini berkurang menjadi sehingga pada . Istilah berikutnya di sebelah kiri (4) dapat ditampilkan menjadi , sehingga kelalaiannya dibenarkan.G(x+h)G(x)h=.01h3x=0x=h,2h,3h,...hex2

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

David menunjukkan bahwa tabel tersebut banyak digunakan.

Jadi, bukan ribuan Riemann, jumlah itu adalah ratusan ekspansi Taylor.


Pada catatan yang lebih kecil, dalam keadaan darurat (terjebak hanya dengan kalkulator dan beberapa nilai yang diingat dari tabel normal) saya cukup berhasil menerapkan aturan Simpson (dan aturan terkait untuk integrasi numerik) untuk mendapatkan perkiraan yang baik pada nilai-nilai lain; itu tidak semua yang membosankan untuk menghasilkan tabel disingkat * untuk beberapa tokoh akurasi. [Untuk menghasilkan tabel skala dan akurasi Kramp akan menjadi tugas yang cukup besar, meskipun, bahkan menggunakan metode yang lebih pintar, seperti yang dia lakukan.]

* Dengan tabel yang disingkat, maksud saya di mana Anda pada dasarnya bisa lolos dengan interpolasi di antara nilai-nilai yang ditabulasikan tanpa kehilangan terlalu banyak akurasi. Jika Anda hanya ingin mengatakan sekitar 3 angka akurasi Anda benar-benar tidak perlu menghitung semua nilai yang banyak itu. Saya telah secara efektif menggunakan interpolasi polinomial (lebih tepatnya, teknik beda hingga terapan), yang memungkinkan untuk tabel dengan nilai lebih sedikit daripada interpolasi linier - jika agak lebih banyak upaya pada langkah interpolasi - dan juga telah melakukan interpolasi dengan transformasi logit, yang membuat interpolasi linier jauh lebih efektif, tetapi hanya banyak digunakan jika Anda memiliki kalkulator yang baik).

[1] Herbert A. David (2005),
"Tabel Terkait dengan Distribusi Normal: Sejarah Singkat"
The American Statistician , Vol. 59, No. 4 (November), hlm. 309-311

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

Glen_b
sumber
0

Masalah menarik! Saya pikir ide pertama tidak datang melalui integrasi formula yang rumit; alih-alih, hasil dari penerapan asimptotik dalam kombinatorik. Metode pena dan kertas dapat memakan waktu beberapa minggu; tidak begitu sulit untuk Karl Gauss dibandingkan dengan perhitungan pie untuk para pendahulunya. Saya pikir ide Gauss berani; perhitungannya mudah baginya.

Contoh membuat tabel z standar dari awal -
1. Ambil populasi dari n (katakanlah n adalah 20) angka dan daftarkan semua sampel yang mungkin berukuran r (katakanlah r adalah 5) dari itu.
2. menghitung rata-rata sampel. Anda mendapatkan sampel nCr berarti (di sini, 20c5 = 15504 berarti).
3. Rata-rata mereka sama dengan rata-rata populasi. Temukan stdev sarana sampel.
4. Temukan skor z sampel berarti menggunakan mean pop dan stdev rata-rata sampel.
5. Urutkan z dalam urutan menaik dan temukan probabilitas z berada dalam rentang nilai nCr z Anda.
6. Bandingkan nilai dengan tabel normal. Lebih kecil n baik untuk perhitungan tangan. Lebih besar n akan menghasilkan perkiraan lebih dekat dari nilai tabel normal.

Kode berikut dalam 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)  

Probabilitas z jatuh antara 0 dan nilai positif q di bawah ini; bandingkan dengan tabel yang diketahui. Manipulasi q di bawah ini antara 0 dan 3,5 untuk membandingkan.

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
sumber
3
Saya tidak melihat bagaimana sampling dapat digunakan dengan cara ini untuk menghasilkan tabel. Saya pikir OP hanya ingin tahu siapa orang pertama
Michael Chernick
Terima kasih atas komentar Anda yang berharga Michael Chernick. 1) OP menulis, "Bagaimana mereka melakukannya sebelum komputer datang? Saya ngeri membayangkan seseorang yang brute-force menghitung seribu Riemann dengan tangan." Saya mencoba menjawab bagian itu. 2) Istilah 'sampel' bukan sampel per se, ini adalah fungsi r untuk menghasilkan daftar angka acak. Kami hanya dapat mengambil 20 nomor sebagai pengganti juga. Lihat tautan r yang mendukung di sini stackoverflow.com/questions/17773080/…
Md Towhidul Islam