วิธีการคำนวณค่าสัมประสิทธิ์การถดถอยมาตรฐานใน r


โดยทั่วไป เมื่อเราดำเนิน การการถดถอยเชิงเส้นหลายครั้ง ค่าสัมประสิทธิ์การถดถอยที่เกิดขึ้นในเอาต์พุตของโมเดลจะ ไม่ได้มาตรฐาน ซึ่งหมายความว่าค่าสัมประสิทธิ์การถดถอยดังกล่าวจะใช้ข้อมูลดิบเพื่อค้นหาเส้นที่เหมาะสมที่สุด

 model <- lm(price ~ age + sqfeet, data=df)

อย่างไรก็ตาม สามารถ กำหนด ตัวแปรทำนายและตัวแปรตอบสนองแต่ละตัวให้เป็นมาตรฐานได้ (โดยการลบค่าเฉลี่ยของแต่ละตัวแปรออกจากค่าเดิมแล้วหารด้วยค่าเบี่ยงเบนมาตรฐานของตัวแปร) แล้วจึงเรียกใช้การถดถอยซึ่งส่งผลให้ สัมประสิทธิ์การถดถอยที่เป็นมาตรฐาน

วิธีที่ง่ายที่สุดในการคำนวณค่าสัมประสิทธิ์การถดถอยมาตรฐานใน R คือการใช้ฟังก์ชัน scale() เพื่อสร้างมาตรฐานให้กับตัวแปรแต่ละตัวในโมเดล:

 model <- lm(scale(price) ~ scale(age) + scale(sqfeet), data=df)

ตัวอย่างต่อไปนี้แสดงวิธีคำนวณสัมประสิทธิ์การถดถอยมาตรฐานในทางปฏิบัติ

ตัวอย่าง: วิธีคำนวณค่าสัมประสิทธิ์การถดถอยมาตรฐานในหน่วย R

สมมติว่าเรามีชุดข้อมูลต่อไปนี้ซึ่งมีข้อมูลเกี่ยวกับอายุ พื้นที่เป็นตารางฟุต และราคาขายของบ้าน 12 หลัง:

 #create data frame
df <- data. frame (age=c(4, 7, 10, 15, 16, 18, 24, 28, 30, 35, 40, 44),
                 sqfeet=c(2600, 2800, 1700, 1300, 1500, 1800,
                          1200, 2200, 1800, 1900, 2100, 1300),
                 price=c(280000, 340000, 195000, 180000, 150000, 200000,
                         180000, 240000, 200000, 180000, 260000, 140000))

#view data frame
df

   age square feet price
1 4 2600 280000
2 7 2800 340000
3 10 1700 195000
4 15 1300 180000
5 16 1500 150000
6 18 1800 200000
7 24 1200 180000
8 28 2200 240000
9 30 1800 200000
10 35 1900 180000
11 40 2100 260000
12 44 1300 140000

สมมติว่าเราทำการถดถอยเชิงเส้นพหุคูณโดยใช้ อายุ และ พื้นที่ เป็นตารางฟุตเป็นตัวแปรทำนาย และ ราคา เป็นตัวแปรตอบสนอง:

 #fit regression model
model <- lm(price ~ age + sqfeet, data=df)

#view model summary
summary(model)

Call:
lm(formula = price ~ age + sqfeet, data = df)

Residuals:
   Min 1Q Median 3Q Max 
-32038 -10526 -6139 21641 34060 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 34736.54 37184.32 0.934 0.374599    
age -409.83 612.46 -0.669 0.520187    
sqfeet 100.87 15.75 6.405 0.000125 ***
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 24690 on 9 degrees of freedom
Multiple R-squared: 0.8508, Adjusted R-squared: 0.8176 
F-statistic: 25.65 on 2 and 9 DF, p-value: 0.0001916

จากผลลัพธ์ของแบบจำลอง เราจะเห็น ค่าสัมประสิทธิ์การถดถอยที่ไม่ได้มาตรฐาน :

  • ตัดบอล: 34736.54
  • อายุ: -409.83
  • ตารางฟุต: 100.87

เมื่อมองแวบแรก ปรากฏว่าอายุมีผลกระทบต่อราคาอสังหาริมทรัพย์มากกว่ามาก เนื่องจากค่าสัมประสิทธิ์ในตารางการถดถอยคือ -409.833 เทียบกับเพียง 100.866 สำหรับตัวแปรทำนายพื้นที่เป็นตารางฟุต

อย่างไรก็ตาม ข้อผิดพลาดมาตรฐานนั้นมีขนาดใหญ่กว่าสำหรับอายุมากกว่าสำหรับพื้นที่เป็นตารางฟุต ซึ่งเป็นเหตุผลว่าทำไมค่า p ที่สอดคล้องกันจึงมีขนาดใหญ่สำหรับอายุ (p = 0.520) และมีค่าน้อยสำหรับพื้นที่เป็นตารางฟุต (p = 0.000)

สาเหตุของความแตกต่างอย่างมากในค่าสัมประสิทธิ์การถดถอยนั้นเนื่องมาจากความแตกต่างอย่างมากในระดับของตัวแปรทั้งสอง:

  • ค่าสำหรับ ช่วงอายุ ตั้งแต่ 4 ถึง 44 ปี
  • ค่า พื้นที่เป็นตารางฟุต อยู่ระหว่าง 1,200 ถึง 2,800

สมมติว่าเราทำให้ข้อมูลดิบ เป็นมาตรฐาน และใส่โมเดลการถดถอยใหม่แทน:

 #standardize each variable and fit regression model
model_std <- lm(scale(price) ~ scale(age) + scale(sqfeet), data=df)

#turn off scientific notation
options(scipen= 999 )

#view model summary
summary(model_std)

Call:
lm(formula = scale(price) ~ scale(age) + scale(sqfeet), data = df)

Residuals:
    Min 1Q Median 3Q Max 
-0.5541 -0.1820 -0.1062 0.3743 0.5891 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0000000000000002253 0.1232881457926768426 0.000 1.000000
scale(age) -0.0924421263946849786 0.1381464029075653854 -0.669 0.520187
scale(sqfeet) 0.8848591938302141635 0.1381464029075653577 6.405 0.000125
                 
(Intercept)      
scale(age)       
scale(sqfeet)***
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.4271 on 9 degrees of freedom
Multiple R-squared: 0.8508, Adjusted R-squared: 0.8176 
F-statistic: 25.65 on 2 and 9 DF, p-value: 0.0001916

ค่าสัมประสิทธิ์การถดถอยในตารางนี้เป็น ค่ามาตรฐาน ซึ่งหมายความว่าค่าสัมประสิทธิ์นี้ใช้ข้อมูลที่เป็นมาตรฐานเพื่อให้พอดีกับโมเดลการถดถอยนี้

วิธีการตีความค่าสัมประสิทธิ์ในตารางมีดังนี้:

  • อายุ ที่เพิ่มขึ้นหนึ่งส่วนเบี่ยงเบนมาตรฐานสัมพันธ์กับราคาบ้านที่ลดลง 0.092 ส่วนเบี่ยงเบนมาตรฐาน โดยสมมติว่าพื้นที่เป็นตารางฟุตคงที่
  • การเพิ่มขึ้น ของค่าเบี่ยงเบนมาตรฐานหนึ่งหน่วยเป็นตารางฟุต สัมพันธ์กับการเพิ่มขึ้นของค่าเบี่ยงเบนมาตรฐาน 0.885 ในราคาบ้าน โดยสมมติว่าอายุคงที่

ตอนนี้เราเห็นแล้วว่าพื้นที่เป็นตารางฟุตมีผลกระทบต่อราคาบ้านมากกว่าอายุมาก

หมายเหตุ : ค่า p สำหรับตัวแปรทำนายแต่ละตัวจะเหมือนกันทุกประการกับค่าในแบบจำลองการถดถอยก่อนหน้า

ในการตัดสินใจเลือกรุ่นสุดท้ายที่จะใช้ ตอนนี้เรารู้แล้วว่า พื้นที่เป็นตารางฟุต มีความสำคัญในการทำนายราคาบ้านมากกว่า อายุของ บ้านมาก

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้ให้ข้อมูลเพิ่มเติมเกี่ยวกับแบบจำลองการถดถอย:

วิธีอ่านและตีความตารางการถดถอย
วิธีการตีความค่าสัมประสิทธิ์การถดถอย
วิธีการตีความค่า P ในการถดถอยเชิงเส้น

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *