ใครเป็นผู้สร้างตารางปกติมาตรฐานแรก


61

ฉันกำลังจะแนะนำตารางมาตรฐานมาตรฐานในชั้นเรียนสถิติเบื้องต้นของฉันและนั่นทำให้ฉันสงสัยว่า: ใครเป็นผู้สร้างตารางมาตรฐานมาตรฐานแรก พวกเขาทำมันอย่างไรก่อนที่คอมพิวเตอร์จะเข้ามา? ฉันตัวสั่นที่คิดว่าใครบางคนกำลังบังคับให้คำนวณผลรวมของ Riemann หนึ่งพันด้วยมือ


5
ยินดีที่ได้เห็นคนที่ต้องการได้รับการสอนในอดีต
mdewey

คำตอบ:


62

Laplace เป็นคนแรกที่ตระหนักถึงความจำเป็นในการสร้างตารางโดยมีการประมาณ:

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

ตารางที่ทันสมัยแห่งแรกของการแจกแจงแบบปกติถูกสร้างขึ้นในภายหลังโดยนักดาราศาสตร์ชาวฝรั่งเศสChristian KrampในAnalyze des Réfractions Astronomiques และ Terrestres (Par le citoyen Kramp, Professeur de Chymie et de Physique expérimentaleàl'école centrale du Département de la Roer, 1799) . จากตารางที่เกี่ยวข้องกับการแจกแจงแบบปกติ: ประวัติโดยย่อผู้แต่ง: เฮอร์เบิร์ตเอเดวิดเดวิดที่มา: นักสถิติชาวอเมริกันปีที่ 19 59, ลำดับที่ 4 (พ.ย. , 2005), หน้า 309-311 :

Kramp ให้ตารางสิบแปด ( 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 ของคือ:N(0,1)

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

ที่{2}} และด้วยเหตุนี้{2}z=x2x=z×2

งั้นไปที่ R แล้วค้นหา ... ตกลงไม่เร็วนัก ครั้งแรกที่เราต้องจำไว้ว่าเมื่อมีการคงการคูณเลขยกกำลังในฟังก์ชั่นการชี้แจง , หนึ่งจะถูกแบ่งออกโดยตัวแทนที่: a เนื่องจากเรามุ่งที่จะจำลองผลลัพธ์ในตารางเก่าเราจึงทำการคูณค่าของด้วยซึ่งจะต้องปรากฏในตัวหารPZ(Z>z=2.97)eax1/ax2

นอกจากนี้คริสเตียนเครมป์ไม่ปกติดังนั้นเราจึงมีเพื่อแก้ไขผลที่ได้รับจากการวิจัยตามคูณด้วยปี่} การแก้ไขขั้นสุดท้ายจะมีลักษณะดังนี้: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

Fantastic!

ลองไปที่ด้านบนของตารางเพื่อความสนุกพูด ...0.06

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

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

Kramp พูดว่าอะไร? 0.826298820.82629882

เฉียดฉิว...


มันเป็น ... ใกล้แค่ไหนกันแน่? หลังจากได้รับคะแนนโหวตทั้งหมดแล้วฉันก็ไม่สามารถทิ้งคำตอบที่แท้จริงไว้ได้ ปัญหาคือแอพพลิเคชั่นออพติคอลการจดจำตัวอักษร (OCR) ทั้งหมดที่ฉันได้ลองใช้นั้นไม่น่าแปลกใจเลยถ้าไม่ได้ลองดูที่ต้นฉบับ ดังนั้นผมได้เรียนรู้ที่จะชื่นชมคริสเตียนเครมป์สำหรับความดื้อรั้นของการทำงานของเขาในขณะที่ผมเองพิมพ์แต่ละหลักในคอลัมน์แรกของตารางPremière

หลังจากความช่วยเหลือที่มีค่าจาก @Glen_b ตอนนี้มันอาจจะแม่นยำและพร้อมที่จะคัดลอกและวางบนคอนโซล R ในลิงค์ GitHubนี้

นี่คือการวิเคราะห์ความแม่นยำของการคำนวณของเขา รั้งตัวเอง...

  1. ความแตกต่างสะสมแน่นอนระหว่างค่า [R] และการประมาณของ Kramp:

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


หากคุณพบรูปภาพหรือแนวตั้งของ Chistian Kramp โปรดแก้ไขโพสต์นี้และวางไว้ที่นี่


4
เป็นเรื่องดีที่มีการอ้างอิงสองแบบที่แตกต่างกันและฉันคิดว่ารายละเอียดเพิ่มเติม (เช่นการขยายอย่างชัดเจนที่ Laplace ให้สำหรับหางส่วนบน) ที่นี่ดี
Glen_b

1
นี่จะดียิ่งขึ้นด้วยการแก้ไขล่าสุด แต่ฉันไม่สามารถโหวตได้สองครั้ง - สิ่งที่ยอดเยี่ยม โปรดทราบว่าบทความของ David อธิบายว่าเพราะเหตุใดตารางของ Kramp จึงไม่ถูกต้องสำหรับตัวเลขทั้งหมดที่แสดง (ข้อผิดพลาดเล็กน้อยในขั้นตอนแรกถูกดำเนินการผ่าน) - แต่มันยังเกินพอสำหรับแอปพลิเคชันสถิติส่วนใหญ่
Glen_b

2
@ OlivierGrégoireขอบคุณที่ชี้ให้เห็นถึงหลักทศนิยมที่พิมพ์ผิดของฉัน มันได้รับการแก้ไขแล้ว ฉันเติบโตขึ้นมาในช่วงเวลาที่ฝรั่งเศสเป็นสิ่งจำเป็นและไม่มีความหมายใด ๆ ที่ไม่เคารพการใช้ภาษาที่แปลก ๆ ของฉัน (มีการอ้างอิงอยู่ในนั้น แต่ไม่เป็นไร) ซึ่งฉันได้กลับรายการ สำหรับ "citoyen Kramp" - ความพยายามในการเน้นรูปแบบประวัติศาสตร์ของการแนะนำในกระดาษ
Antoni Parellada

1
สวัสดีขอโทษคุณรู้สึกว่านี่เป็นความคิดเห็นที่ทุบตี ฉันแค่ชี้ไปที่สิ่งต่าง ๆ ฉันไม่เคยบอกว่าคุณดูหมิ่นอะไรเลย คุณอาจลงโทษหรือพูดเกินจริง (หรือแม้กระทั่งอ้างอิง) แน่นอน แต่ในฐานะที่เป็นคนที่พูดภาษาฝรั่งเศสฉันไม่เข้าใจ (นั่นคือสิ่งที่ฉันพยายามสื่ออย่างน้อย) "Le citoyen Kramp" ไม่มีปัญหา: ฉันเพิ่งคัดลอกและใส่เครื่องหมายคำพูดเพราะมันไม่ใช่ภาษาอังกฤษ ขออภัยถ้าคุณรู้สึกว่ามันเป็นความคิดเห็นทุบตีมันไม่ได้ การใช้ภาษาอังกฤษของฉันก็ไม่เพียงพอเช่นกัน ^^ การเปรียบเทียบของคุณทำได้ดีมาก!
Olivier Grégoire

1
@ P.Windridge ขออภัย ... ฉันรู้ว่าฉันมีไฮเปอร์ลิงก์ที่ขาด ...
Antoni Parellada

32

ตามที่ HA David [1] Laplace ตระหนักถึงความต้องการตารางการกระจายแบบปกติ "เร็วเท่าที่ 1783" และ Kramp ที่ผลิตในตารางแรกในปี ค.ศ. 1799

Laplace แนะนำการประมาณสองชุดหนึ่งสำหรับอินทิกรัลจากถึงของ (ซึ่งเป็นสัดส่วนกับการแจกแจงแบบปกติที่มีความแปรปรวน ) และอีกอันสำหรับหางด้านบน0xet212

อย่างไรก็ตาม Kramp ไม่ได้ใช้ชุด Laplace เหล่านี้เนื่องจากมีช่องว่างในช่วงเวลาที่สามารถนำไปใช้ประโยชน์ได้

ผลก็คือเขาเริ่มต้นด้วยอินทิกรัลสำหรับพื้นที่ท้ายจาก 0 จากนั้นใช้การขยายตัวเทย์เลอร์เกี่ยวกับอินทิกรัลที่คำนวณล่าสุด - นั่นคือในขณะที่เขาคำนวณค่าใหม่ในตารางเขาเลื่อนของการขยายเทย์เลอร์ (โดยที่คืออินทิกรัลให้พื้นที่หางส่วนบน)xG(x+h)G

หากต้องการเจาะจงให้ระบุประโยคที่เกี่ยวข้องสองประโยค:

เขาก็ใช้การขยายตัวซีรีส์เทย์เลอร์เกี่ยวกับกับขึ้นไปในระยะ 3 สิ่งนี้ทำให้เขาสามารถดำเนินการทีละขั้นตอนจากถึง , เมื่อคูณโดยดังนั้นที่ผลิตภัณฑ์นี้ลดลงเป็น.ดังนั้นที่ . เทอมถัดไปทางด้านซ้ายของ (4) สามารถแสดงเป็นเพื่อให้การละเว้นนั้นเป็นธรรมG(x+h)G(x)h=.01h3x=0x=h,2h,3h,...hex2 x=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

เดวิดบ่งชี้ว่ามีการใช้ตารางอย่างกว้างขวาง

ดังนั้นมากกว่า Riemann หลายพันผลรวมมันเป็นขยายเทย์เลอร์หลายร้อย


ในบันทึกย่อขนาดเล็กในหยิก (ติดอยู่กับเครื่องคิดเลขและค่าจำไม่กี่จากตารางปกติ) ฉันได้ใช้กฎของ Simpson (และกฎที่เกี่ยวข้องสำหรับการรวมตัวเลข) เพื่อให้ได้ค่าประมาณที่ดี ไม่ใช่ทั้งหมดที่น่าเบื่อที่จะสร้างตารางย่อ * เพื่อความแม่นยำ [การสร้างตารางของสเกลและความแม่นยำของ Kramp จะเป็นงานที่ค่อนข้างใหญ่แม้ว่าจะใช้วิธีที่ฉลาดกว่าเดิมเหมือนที่เขาทำ]

* โดยตารางย่อฉันหมายถึงตารางที่คุณสามารถแก้ไขได้โดยการแก้ไขระหว่างค่าแบบตารางโดยไม่สูญเสียความแม่นยำมากเกินไป ถ้าคุณต้องการพูดประมาณ 3 ความถูกต้องร่างคุณจริงๆไม่ต้องคำนวณทุกค่าที่หลาย ๆ ฉันใช้การแก้ไขพหุนามอย่างมีประสิทธิภาพ (แม่นยำยิ่งขึ้นโดยใช้เทคนิคผลต่างอันตะ) ซึ่งช่วยให้ตารางที่มีค่าน้อยกว่าการประมาณเชิงเส้นถ้าใช้ความพยายามมากกว่าในขั้นตอนการประมาณ - และทำการแก้ไขด้วยการแปลงโลจิตด้วย ทำให้การแก้ไขเชิงเส้นมีประสิทธิภาพมากกว่ามาก แต่ใช้ได้เฉพาะเมื่อคุณมีเครื่องคิดเลขที่ดีเท่านั้น)

[1] เฮอร์เบิร์ตเอ. เดวิด (2548),
"ตารางที่เกี่ยวข้องกับการแจกแจงแบบปกติ: ประวัติโดยย่อ"
นักสถิติชาวอเมริกันอัตรา 59, ฉบับที่ 4 (พ.ย. ), หน้า 309-311

[2] Kramp (1799),
วิเคราะห์ des Réfractions Astronomiques และ Terrestres,
Leipzig: Schwikkert


0

ปัญหาที่น่าสนใจ! ฉันคิดว่าความคิดแรกไม่ได้มาจากการรวมสูตรที่ซับซ้อน ค่อนข้างเป็นผลมาจากการใช้ asymptotics ใน combinatorics วิธีการปากกาและกระดาษอาจใช้เวลาหลายสัปดาห์ ไม่ยากสำหรับ Karl Gauss เทียบกับการคำนวณพายสำหรับรุ่นก่อนของเขา ฉันคิดว่าความคิดของเกาส์นั้นกล้าหาญ การคำนวณเป็นเรื่องง่ายสำหรับเขา

ตัวอย่างของการสร้างตาราง z มาตรฐานจากศูนย์ -
นำประชากร n (พูด n คือ 20) ตัวเลขและแสดงรายการตัวอย่างทั้งหมดที่เป็นไปได้ของขนาด r (พูด r คือ 5) จากนั้น
2. คำนวณค่าเฉลี่ยตัวอย่าง คุณได้รับตัวอย่าง nCr (ที่นี่, 20c5 = 15504 หมายถึง)
3. ค่าเฉลี่ยของพวกเขาเหมือนกับค่าเฉลี่ยของประชากร ค้นหา stdev ของค่าเฉลี่ยตัวอย่าง
4. ค้นหาคะแนน z ของค่าเฉลี่ยตัวอย่างโดยใช้ค่าเฉลี่ยป๊อปและ stdev ของค่าเฉลี่ยตัวอย่าง
5. เรียงลำดับ z ตามลำดับจากน้อยไปหามากและค้นหาความน่าจะเป็นที่ z อยู่ในช่วงในค่า nCr z ของคุณ
6. เปรียบเทียบค่ากับตารางปกติ เล็กกว่าดีสำหรับการคำนวณด้วยมือ 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
ฉันไม่เห็นว่าสามารถใช้การสุ่มตัวอย่างด้วยวิธีนี้เพื่อสร้างตารางได้อย่างไร ฉันคิดว่า OP อยากจะรู้ว่าใครเป็นคนแรก
Michael Chernick

ขอบคุณสำหรับความคิดเห็นอันมีค่าของคุณ Michael Chernick 1) OP เขียนว่า "พวกเขาทำยังไงก่อนที่คอมพิวเตอร์จะเข้ามาฉันจะสั่นเมื่อนึกถึงคนที่คิดร้ายกาจบังคับใช้เงิน Riemann นับพันด้วยมือ" ฉันพยายามตอบส่วนนั้น 2) คำว่า 'sample' ไม่ใช่ตัวอย่างต่อ se เป็นฟังก์ชัน r เพื่อสร้างรายการของตัวเลขสุ่ม เราสามารถนำตัวเลข 20 ตัวมาแทนได้เช่นกัน ดูลิงค์สนับสนุนที่นี่stackoverflow.com/questions/17773080/…
Md Towhidul อิสลาม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.