วันพฤหัสบดีที่ 20 กุมภาพันธ์ พ.ศ. 2563

โปรแกรม R บทที่ 6


บทที่ 6
Confidence Interval and Hypotheses Tests

6.1 Confidence Interval
            6.1.1
การหาช่วงความเชื่อมั่นโดยใช้การจำลองข้อมูล
            (Finding Confidence Intervals Using Simulation)

            เพื่อทำความเข้าใจเกี่ยวกับความหมายของช่วงความเชื่อมั่น ให้พิจารณาตัวอย่างของการสำรวจข้อมูล ซึ่งในการสำรวจ ครั้งนี้สมมติว่าเราทราบว่ามีประชากรทั้งหมด 100,000 คน และเราต้องการทราบความคิดเห็นของคนเหล่านี้ว่าเห็นด้วยกับการทำรัฐประหารของ คมช.หรือไม่ ซึ่ งในทางปฏิบัติเราไม่สามารถสอบถามความคิดเห็นของประชากรทั้งหมด 100,000 คนได้ จึงได้ทำการสุ่มตัวอย่างของคนเหล่านี้มาจำนวน 100 คน และสอบถามความคิดเห็นหากเห็นด้วยให้เป็ น " 1 "ไม่เห็นด้วยให้เป็ น " 0 " หากเราทราบว่าสัดส่วนที่แท้จริงของคนที่เห็นด้วยคือ 0.56 แล้วจะได้ว่าคนจำนวน 56,000คน จะเห็นด้วย และคนจำนวน 44,000 คน จะไม่เห็นด้วย เราจะจำลองข้อมูล 1000 ชุดๆละ 100 ค่าสังเกต โดยในการสุ่มตัวอย่างจะทำแบบไม่ใส่คืน ดังคำสั่งดังต่อไปนี้
> res = c()
> pop = rep(0:1, c(100000 - 56000, 56000))          # create the population
> for (i in 1:1000) res[i] = mean(sample(pop,100)) # find phat
> quantile(res,c(0.1,0.9))
10% 90%
0.50 0.62
> quantile(res,c(0.05,0.95))
5% 95%
0.48 0.64
> quantile(res,c(0.025,0.975))
2.5% 97.5%
0.46 0.65
จะได้ว่า
                                    P(0.50 ˆp0.62) = 0.80
                                   
P(0.48 ˆp0.64) = 0.90
                                   
P(0.46 ˆp0.65) = 0.95
            ในตัวอย่างนี้เราทราบว่า
p= 0.56 ซึ่ งเขียนใหม่ได้เป็ น0.50 =p 0.06 ดังนั้นสมการแรกกลายเป็ น
                                   
P(p0.06 ˆp p+ 0.07) = 0.80
                                       
P(.06 ˆp p0.07) = 0.80
                                   
P(ˆp0.07 pˆp+ 0.06) = 0.80
            นั่นคือหากเราสุ่มตัวอย่างมา
1 ชุด โอกาสที่ช่วงความเชื่อมั่นนี้จะครอบคลุมค่าp คือ 0.80
6.1.2 วงความเชื่อมั่นของp
            หากn→∞ และp มีค่าไม่เข้าใกล้ 1 หรือ 0 แล้วˆpจะมีการแจกแจงประมาณได้ด้วยการแจกแจงแบบปกติ ด้วยค่าเฉลี่ยเท่ากับnp และค่าเบี่ยงเบนมาตรฐานเท่ากับ  ดังนั้นช่วงความเชื่อมั่น(1−α)100% สำหรับp คือ    ˆp± zα/2    
แต
เนื่องจากp เป็ นพารามิเตอร์ที่ไม่ทราบค่าจึงใช้ˆpแทนดังนี้
ˆ p± zα/2  
ใน R เราสามารถใช้คำสั่ง prop.test( ) ในการหาช่วงความเชื่อมั่นของp ได้
ตัวอยางที่ 6.1
            ในการสำรวจความคิดเห็นเกี่ยวกับการทำงานของนายกรัฐมนตรีครั้งหนึ่ง ได้สุ่มตัวอย่างของคนที่มีสิทธิออกเสียงเลือกตั้งมาจำนวน 1013 คน พบว่ามี 466 คน ที่เห็นว่านายกฯทำงานได้ดี ให้หาช่วงความเชื่อมั่นที่ 95% ของค่าสัดส่วนที่แท้จริงของคนที่คิดว่านายกทำงานได้ดี  สำหรับตัวอย่ างนี้เราจะหาช่ วงความเชื่ อมั่นของp สองแบบด้วยกัน คือการเขียนคำสั่งเอง และการใช้ฟงก์ชัน prop.test( )
> n = 1013
> phat=466/n
> se = sqrt(phat*(1-phat)/n)
> alpha=.05
> z.value = -qnorm(alpha/2)
> z.value
[1] 1.959964
> c(phat - z.value*se, phat + z.value*se)
[1] 0.4293281 0.4907114
           
จะได้ช่วงความเชื่อมั่นคือ (0.4293, 0.4907) รูปแบบของฟังก์ชัน prop.test( ) คือ
prop.test(x, n, conf.level = 0.95, correct = TRUE)
เมื่อ
x คือจำนวนครั้งของสิ่งที่สนใจn คือขนาดตัวอย่าง conf.level คือระดับความเชื่อมั่น
> prop.test(466,1013,conf.level=0.95)
1-sample proportions test with continuity correction
data: 466 out of 1013, null probability 0.5
X-squared = 6.3179, df = 1, p-value = 0.01195
alternative hypothesis: true p is not equal to 0.5

95 percent confidence interval:
0.4290475 0.4912989
sample estimates:
                 
p
   
0.4600197
            จะได้ช่วงความเชื่ อมั่นคือ (
0.4290, 0.4913) ซึ่ งจะเห็นได้ว่ามีค่าแตกต่างจากที่ เราคำนวณไว้เล็กน้อย เนื่ องจากฟังก์ชัน prop.test( ) หาช่วงความเชื่อมั่นของp โดยการแก้สมการ
                           
P(z 1−α
            เมื่อSD(ˆp) =
            6.1.3 ช่วงความเชื่อมั่นสำหรับµ
           
หากσ เป็ นพารามิเตอร์ที่ ทราบค่าแล้ว ช่วงความเชื่อมั่น(1−α)100% ของµ คือ
            โดยปกติแล้วเรามักไม่ทราบค่าσ หากตัวอย่างที่สุ่มมามีขนาดใหญ่พอ (n >30) แล้วเราสามารถหาช่วงความ เชื่อมั่นของµ ได้จาก                                      ± zα/2 
แต่ถ้าตัวอย่างมีขนาดเล็ก และประชากรที่ สุ่มตัวอย่างมานั้นมีการแจกแจงแบบปกติแล้วช่วงความเชื่อมั่น
(1−α)100% ของµ คือ                                           ± tα/2,n1
ตัวอย่างที่ 6.2
นักเรียนในห้องเรียนห้องหนึ่ งมีจำนวน 30 คน มีความสู งเฉลี่ยเท่ากับ 66 นิ้ว ด้วยค่าเบี่ ยงเบนมาตรฐาน
4 นิ้ว สมมติให้นักเรียนห้องนี้เป็ นตัวอย่างสุ่มจากประชากรนักเรียนทั้งโรงเรียน ให้หาช่วงความเชื่ อมั่น80% ของความ สูงเฉลี่ยของนักเรียนทั้งโรงเรียน
> xbar = 66; s = 4; n = 30
> alpha = 0.2
> t.value = qt(1-alpha/2, df=n-1)
> t.value
[1] 1.311434
> se = s/sqrt(n)
> c(xbar - t.value*se, xbar + t.value*se)
[1] 65.04226 66.95774
ตัวอย่างที่ 6.3
           
ข้อมู ลต่อไปนี้เป็ นน้ำหนักของคนๆหนึ่ งที่ ชั่งด้วยเครื่องชั่งน้ำหนัก 10 เครื่อง
            
175 176 173 175 174 173 173 176 173 179
            ให้หาช่วงความเชื่ อมั่น
90% ของน้ำหนักเฉลี่ ยที่ แท้จริงของคนๆนี้
เราจะใช้ฟังก์ชัน
t.test( ) ในการหาช่ วงความเชื่ อมั่นของµ สำหรับตัวอย่ างนี้ โดยฟังก์ชันนี้มีรูปแบบดังนี้
t.test(x, conf.level = 0.95, ...)    ใช้ฟังก์ชัน t.test( ) ดังนี้
> weight = c(175,176,173,175,174,173,173,176,173,179)
> qqnorm(weight)                                              # normality test
> t.test(weight,conf.level=0.90)
One Sample t-test
data: weight
t = 283.8161, df = 9, p-value < 2.2e-16
alternative hypothesis: true mean is not equal to 0
90 percent confidence interval:
173.5716 175.8284

sample estimates:
mean of x
174.7
            6.1.4 ช่วงความเชื่อมั่นสำหรับσ2
            หากxi มีการแจกแจงแบบปกติและเป็ นอิสระกันแล้ว (n 1)s2/σ2  จะมีการแจกแจงแบบ chi-square ด้วยdf= n1 ซึ่งทำให้เราสามารถหาช่วงความเชื่อมั่นของσ2 จากs2 ได้ โดยที่ ช่วงความเชื่อมั่น(1−α)100% ของσ2 คือ
                                
ตัวอย่างที่ 6.4
           
พนักงานคนหนึ่ งเชื่อว่าเวลาที่ เธอใช้ในการเดินทางมาทำงานในแต่ละวันนั้นเป็ นอิสระกันและมีการ
แจกแจงแบบปกติด้วยค่าเฉลี่ย และค่าเบี่ยงเบนมาตรฐานที่ไม่ทราบค่า เธอต้องการประมาณค่าความแปรปรวนเพื่อให้ทราบถึง ความผันแปรของเวลาที่ ใช้ในการเดินทางมาทำงาน   ในการคำนวณหาค่าความแปรปรวน เธอได้เก็บรวบรวมเวลาที่ใช้ในการเดินทาง
10 ครั้ง มีค่าเฉลี่ยเท่ากับ 25 นาที  และค่าความแปรปรวน 12 นาที ให้หาช่วงความเชื่อมั่น95% สำหรับค่าความแปรปรวน
> s2 = 12; n=10
> alpha=.05
> chi.lower = qchisq(alpha/2, df=n-1)
> chi.upper = qchisq(1-alpha/2, df=n-1)
> (n-1)*s2*c(1/chi.upper,1/chi.lower)                   #CI for variance
[1] 5.677407 39.994230
> sqrt((n-1)*s2*c(1/chi.upper,1/chi.lower))           # CI for standard deviation
[1] 2.382731   6.324099
            6.1.5 ช่วงความเชื่อมั่นสำหรับp1 p2
            ในการประมาณค่ า
p1 p2 นั้นตัวประมาณคือˆp1ˆp2เมื่อ n1และ n2มี ขนาดใหญ่ แล้วˆp1ˆp2จะมี การแจกแจงประมาณได้ด้วยการแจกแจงแบบปกติโดยมีค่าเแลี่ ยเท่ากับp1 p2 และค่าความคลาดเคลื่ อนมาตรฐานคือ                        
                               
                    
ดังนั้น ช่วงความเชื่อมั่น(1−α)100% สำหรับp1 p2 คือ
         
(ˆp1ˆp2)± zα/2SE(ˆp1ˆp2)
เราสามารถใช้ฟังก์ชัน
prop.test( )ในการหาช่วงความเชื่อมั่นของp1 p2 ได้ดังตัวอย่างต่อไปนี้
ตัวอย่างที่
6.5
           
ในการเปรียบเทียบผลการสำรวจเกี่ยวกับการเป็ นที่รู้จักของสินค้าชนิดหนึ่ง 2 ครั้ง แต่ละครั้งห่างกัน 2
สัปดาห์ ครั้งแรกได้สุ่มคนมาจำนวน
1000 คน มี 560 คน ที่รู้จักสินค้าชนิดนี้ ครั้งที่ 2 สุ่มคนมาจำนวน 1200 คน พบว่ามีคนรู้จักสินค้าชนิดนี้ 570 คน ให้หาช่วงความเชื่ อมั่น95% สำหรับผลต่างระหว่างสัดส่วนของคนที่ รู้จักสินค้าชนิดนี้
> prop.test(x = c(560,570), n=c(1000,1200), conf.level=.95)
2-sample test for equality of proportions with continuity correction
data: c(560, 570) out of c(1000, 1200)
X-squared = 15.437, df = 1, p-value = 8.53e-05
alternative hypothesis: two.sided
95 percent confidence interval:
0.04231207  0.12768793
sample estimates:
prop 1 prop 2
0.560  0.475
           
6.1.6 ช่วงความเชื่อมั่นของµ1 µ2
            ให้
x1 ,x2 ,...,xnx            และy1 ,y2 ,...,yny
            เป็ นตัวอย่างสองชุดที่มีค่าเฉลี่ยเท่ากับ
¯xและ¯yและมีค่าเบี่ยงเบนมาตรฐานคือs2
xและs2yหากสมมติ ให้ประชากรทั้งสองมี การแจกแจงแบบปกติ แล้ว¯x¯yจะมีการแจกแจงแบบปกติ หาก
ตัวอย่างทั้งสองชุดมีขนาดใหญ่ ทำให้
                       

จะมีการแจกแจงแบบปกติมาตรฐาน เมื่อ
nx และny มีขนาดใหญ ในกรณีที่nx และny มีขนาดเล็กT จะมีการ
แจกแจงแบบ
t สำหรับค่าSE(¯x¯y)จะคำนวณด้วยสูตรที่แตกต่างกันขึ้นอยู่กับข้อสมมติ นั่นคือ
1. เมื่อ
                               

2. เมื่อ
                                                       

ดังนั้นช่วงความเชื่อมั่น(1−α)100% สำหรับµ1 µ2 คือ
            (¯ x
¯y)± tα/2,df SE(¯x¯y)
            เราสามารถใช้ฟังก์ชัน t.test( ) ในการหาช่วงความเชื่อมั่นสำหรับµ1 µ2 ได้ดังตัวอย่างต่อไปนี้
ตัวอย่างที่
6.6
ในการทดลองทางการแพทย์เกี่ ยวกับประสิทธิภาพของยาลดน้ำหนัก นักวิจัยได้แบ่ งอาสาสมัครออกเป็ น
สองกลุ่ม กลุ่มที่หนึ่งให้ได้รับยาลดน้ำหนัก และกลุ่มที่สองให้ได้รับ
placebo หลักจากทำการทดลองไประยะเวลาหนึ่งนักวิจัยได้บันทึกน้ำหนักที่ลดลงของอาสาสมัครทั้งสองกลุ่ม ให้หาช่วงความเชื่อมั่น90% ของผลต่างระหว่างน้ำหนักที่ลดลงเฉลี่ยของคนทั้งสองกลุ่ม
> x = c(0,0,0,2,4,5,13,14,14,14,15,17,17)
> y = c(0,6,7,8,11,13,16,16,16,16,17,18)
> boxplot(list(drug=x,placebo=y), col="green2")
> t.test(x,y,var.equal=TRUE)
Two Sample t-test
data: x and y
t = -1.2352, df = 23, p-value = 0.2292
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:

-8.435853 2.128160
sample estimates:
mean of x mean of y
8.846154 12.000000
            ในการหาช่วงความเชื่ อมั่นนี้เราใช้
boxplots ในการเปรียบเทียบความแปรปรวนของข้อมู ลสองชุ ด ซึ่งจากรูปที่ ได้จะเห็นว่าข้อมูลทั้งสองชุดมีความแปรปรวนไม่ต่างกันมากนัก ดังนั้นในการใช้ฟังก์ชัน t.test( ) จึงใช้ argument var.equal = TRUE
           
6.1.7 ช่วงความเชื่อมั่นระหว่างผลต่างของค่าเฉลี่ยสองกลุ่ม เมื่อตัวอย่างสองชุดมีความสัมพันธ์กัน
ในกรณีที่ตัวอย่างสองชุ ดไม่เป็ นอิสระกัน ช่วงความเชื่อมั่น(1−α)100% สำหรับµx µy คือ
               
(¯x¯y)± tα/2,n1s/n
เราสามารถใช้ฟังก์ชัน t.test( ) ในการหาช่วงความเชื่อมั่นในกรณีนี้ได้ดังตัวอย่างต่อไปนี้
ตัวอย่างที่ 6.7
เพื่อให้การให้คะแนนเป็ นไปอย่างยุติธรรม จึงกำหนดให้มีการให้คะแนนโดยกรรมการสองคน ให้หาช่วง
ความเชื่อมั่น
90% สำหรับµ1 µ2
> x = c(3,0,5,2,5,5,5,4,4,5)
> y = c(2,1,4,1,4,3,3,2,3,5)
> t.test(x,y,cong.level=.9,paired=TRUE)

Paired t-test
data: x and y
t = 3.3541, df = 9, p-value = 0.008468
data: x and y
t = 3.3541, df = 9, p-value = 0.008468
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
0.3255550 1.6744450
sample estimates:
mean of the differences
   1

ไม่มีความคิดเห็น:

แสดงความคิดเห็น