R - การแจกแจงปกติ
ในการรวบรวมข้อมูลแบบสุ่มจากแหล่งข้อมูลอิสระโดยทั่วไปจะสังเกตได้ว่าการกระจายของข้อมูลเป็นเรื่องปกติ ซึ่งหมายความว่าในการพล็อตกราฟด้วยค่าของตัวแปรในแกนนอนและจำนวนค่าในแกนแนวตั้งเราจะได้เส้นโค้งรูประฆัง จุดศูนย์กลางของเส้นโค้งแสดงถึงค่าเฉลี่ยของชุดข้อมูล ในกราฟห้าสิบเปอร์เซ็นต์ของค่าจะอยู่ทางด้านซ้ายของค่าเฉลี่ยและอีก 50 เปอร์เซ็นต์อยู่ทางด้านขวาของกราฟ สิ่งนี้เรียกว่าการแจกแจงปกติในสถิติ
R มีฟังก์ชันในตัวสี่ฟังก์ชันเพื่อสร้างการแจกแจงแบบปกติ มีอธิบายไว้ด้านล่าง
dnorm(x, mean, sd)
pnorm(x, mean, sd)
qnorm(p, mean, sd)
rnorm(n, mean, sd)
ต่อไปนี้เป็นคำอธิบายของพารามิเตอร์ที่ใช้ในฟังก์ชันข้างต้น -
x เป็นเวกเตอร์ของตัวเลข
p คือเวกเตอร์ของความน่าจะเป็น
n คือจำนวนการสังเกต (ขนาดตัวอย่าง)
meanคือค่าเฉลี่ยของข้อมูลตัวอย่าง ค่าเริ่มต้นคือศูนย์
sdคือค่าเบี่ยงเบนมาตรฐาน ค่าเริ่มต้นคือ 1
dnorm ()
ฟังก์ชันนี้ให้ความสูงของการแจกแจงความน่าจะเป็นในแต่ละจุดสำหรับค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานที่กำหนด
# Create a sequence of numbers between -10 and 10 incrementing by 0.1.
x <- seq(-10, 10, by = .1)
# Choose the mean as 2.5 and standard deviation as 0.5.
y <- dnorm(x, mean = 2.5, sd = 0.5)
# Give the chart file a name.
png(file = "dnorm.png")
plot(x,y)
# Save the file.
dev.off()
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
pnorm ()
ฟังก์ชันนี้ให้ความน่าจะเป็นของจำนวนสุ่มที่กระจายตามปกติน้อยกว่าค่าของตัวเลขที่กำหนด เรียกอีกอย่างว่า "ฟังก์ชันการกระจายสะสม"
# Create a sequence of numbers between -10 and 10 incrementing by 0.2.
x <- seq(-10,10,by = .2)
# Choose the mean as 2.5 and standard deviation as 2.
y <- pnorm(x, mean = 2.5, sd = 2)
# Give the chart file a name.
png(file = "pnorm.png")
# Plot the graph.
plot(x,y)
# Save the file.
dev.off()
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
qnorm ()
ฟังก์ชันนี้รับค่าความน่าจะเป็นและให้ตัวเลขที่มีค่าสะสมตรงกับค่าความน่าจะเป็น
# Create a sequence of probability values incrementing by 0.02.
x <- seq(0, 1, by = 0.02)
# Choose the mean as 2 and standard deviation as 3.
y <- qnorm(x, mean = 2, sd = 1)
# Give the chart file a name.
png(file = "qnorm.png")
# Plot the graph.
plot(x,y)
# Save the file.
dev.off()
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
rnorm ()
ฟังก์ชันนี้ใช้เพื่อสร้างตัวเลขสุ่มที่มีการแจกแจงเป็นปกติ ใช้ขนาดตัวอย่างเป็นอินพุตและสร้างตัวเลขสุ่มจำนวนมาก เราวาดฮิสโตแกรมเพื่อแสดงการแจกแจงของตัวเลขที่สร้างขึ้น
# Create a sample of 50 numbers which are normally distributed.
y <- rnorm(50)
# Give the chart file a name.
png(file = "rnorm.png")
# Plot the histogram for this sample.
hist(y, main = "Normal DIstribution")
# Save the file.
dev.off()
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -