Laplace là người đầu tiên nhận ra nhu cầu lập bảng, đưa ra cách tính gần đúng:
G(x)=∫∞xe−t2dt=1x−12x3+1⋅34x5−1⋅3⋅58x7+1⋅3⋅5⋅716x9+⋯(1)
Bảng hiện đại đầu tiên của phân phối bình thường sau đó được xây dựng bởi nhà thiên văn học người Pháp Christian Kramp trong Phân tích des Réfraction Astronomiques et Terrestres (Par le citoyen Kramp, Proflieur de Chymie et de Physique expérimentale à l'école centrale du Département de la . Từ các bảng liên quan đến phân phối bình thường: Một tác giả lịch sử ngắn: Herbert A. David Nguồn: The Statistician American, Vol. 59, số 4 (tháng 11 năm 2005), trang 309-311 :
Tham vọng, Kramp đã đưa ra các bảng tám thập phân ( D) lên đến D đến D đến và D đến cùng với sự khác biệt cần thiết cho phép nội suy. Viết ra sáu dẫn xuất đầu tiên của anh ta chỉ cần sử dụng một chuỗi mở rộng Taylor của về với cho đến thuật ngữ trongĐiều này cho phép anh ta tiến hành từng bước từ đến khi nhân với8x=1.24, 91.50, 101.99,113.00G(x),G(x+h)G(x),h=.01,h3.x=0x=h,2h,3h,…,he−x21−hx+13(2x2−1)h2−16(2x3−3x)h3.
x=0.01(1-1
Do đó, tại , sản phẩm này giảm xuống còn
do đó tạix=0.01(1−13×.0001)=.00999967,
G(.01)=.88622692−.00999967=.87622725.
⋮
Nhưng ... anh ta có thể chính xác đến mức nào? OK, hãy lấy làm ví dụ:2.97
Kinh ngạc!
Hãy chuyển sang biểu thức hiện đại (chuẩn hóa) của Gaussian pdf:
Pdf của là:N(0,1)
fX(X=x)=12π−−√e−x22=12π−−√e−(x2√)2=12π−−√e−(z)2
trong đó . Và do đó, .z=x2√x=z×2–√
Vì vậy, hãy đến R và tìm ... OK, không quá nhanh. Đầu tiên chúng ta phải nhớ rằng khi có một hằng số nhân số mũ trong hàm số mũ , tích phân sẽ được chia cho số mũ đó: . Vì chúng tôi đang nhắm đến việc sao chép các kết quả trong các bảng cũ, nên chúng tôi thực sự nhân giá trị của với , sẽ phải xuất hiện trong mẫu số.PZ(Z>z=2.97)eax1/ax2–√
Hơn nữa, Christian Kramp đã không bình thường hóa, vì vậy chúng tôi phải sửa kết quả do R cung cấp cho phù hợp, nhân với . Sự điều chỉnh cuối cùng sẽ như thế này:2π−−√
2π−−√2–√P(X>x)=π−−√P(X>x)
Trong trường hợp trên, và . Bây giờ hãy đến R:z=2.97x=z×2–√=4.200214
(R = sqrt(pi) * pnorm(x, lower.tail = F))
[1] 0.00002363235e-05
Tuyệt vời!
Hãy đi đến đầu bảng để giải trí, giả sử ...0.06
z = 0.06
(x = z * sqrt(2))
(R = sqrt(pi) * pnorm(x, lower.tail = F))
[1] 0.8262988
Kramp nói gì? .0.82629882
Rất gần ...
Điều này là ... chính xác đến mức nào? Sau khi tất cả các phiếu bầu nhận được, tôi không thể bỏ qua câu trả lời thực tế. Vấn đề là tất cả các ứng dụng nhận dạng ký tự quang học (OCR) mà tôi đã thử đều vô cùng khó tin - không ngạc nhiên nếu bạn đã xem qua bản gốc. Vì vậy, tôi đã học được cách đánh giá cao Christian Kramp vì sự kiên trì trong công việc của anh ấy khi tôi đích thân gõ từng chữ số vào cột đầu tiên của Bảng Première .
Sau một số trợ giúp có giá trị từ @Glen_b, giờ đây nó rất có thể chính xác và nó đã sẵn sàng để sao chép và dán trên bảng điều khiển R trong liên kết GitHub này .
Dưới đây là một phân tích về tính chính xác của tính toán của mình. Tự ôm mình ...
- Chênh lệch tích lũy tuyệt đối giữa các giá trị [R] và xấp xỉ của Kramp:
0.000001200764 - trong quá trình tính toán , anh ta đã tích lũy được sai số xấp xỉ triệu!3011
- Có nghĩa là lỗi tuyệt đối (MAE) hoặc
mean(abs(difference))
vớidifference = R - kramp
:
0.000000003989249 - trung bình anh ấy đã tạo ra một lỗi vô lý lỗi một tỷ.3
Trên mục trong đó các tính toán của anh ta khác nhau nhất so với [R], giá trị thập phân khác nhau đầu tiên nằm ở vị trí thứ tám (trăm triệu). Trung bình (trung bình) "sai lầm" đầu tiên của anh là chữ số thập phân thứ mười (phần mười tỷ!). Và, mặc dù anh ta không hoàn toàn đồng ý với [R] trong mọi trường hợp, mục gần nhất không phân kỳ cho đến mười ba mục kỹ thuật số.
- Sự khác biệt trung bình tương đối hoặc
mean(abs(R - kramp)) / mean(R)
(giống như all.equal(R[,2], kramp[,2], tolerance = 0)
):
0.00000002380406
- Lỗi bình phương trung bình gốc (RMSE) hoặc sai lệch (mang lại nhiều trọng lượng hơn cho các lỗi lớn), được tính như
sqrt(mean(difference^2))
sau:
0.000000007283493
Nếu bạn tìm thấy một hình ảnh hoặc chân dung của Chistian Kramp, vui lòng chỉnh sửa bài đăng này và đặt nó ở đây.