สำหรับตัวแยกประเภทแบบเชิงเส้นสัมประสิทธิ์ขนาดใหญ่แสดงถึงคุณสมบัติที่สำคัญกว่านี้ไหม


15

ฉันเป็นวิศวกรซอฟต์แวร์ที่ทำงานเกี่ยวกับการเรียนรู้ของเครื่อง จากความเข้าใจของฉันการถดถอยเชิงเส้น (เช่น OLS) และการ จำแนกเชิงเส้น (เช่นการถดถอยโลจิสติกและ SVM) ทำให้การคาดการณ์ขึ้นอยู่กับผลิตภัณฑ์ภายในระหว่างค่าสัมประสิทธิ์การฝึกอบรม และตัวแปรคุณลักษณะx :Wx

Y^=(Wx)=(ΣผมWผมxผม)

คำถามของฉันคือ: หลังจากแบบจำลองได้รับการฝึกอบรม (นั่นคือหลังจากสัมประสิทธิ์คำนวณแล้ว) เป็นกรณีที่สัมประสิทธิ์จะมีขนาดใหญ่กว่าสำหรับตัวแปรคุณลักษณะที่สำคัญกว่าสำหรับแบบจำลองที่จะทำนายได้แม่นยำกว่าหรือไม่Wผม

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

เหตุผลที่ฉันถามสิ่งนี้เพราะฉันได้พบกับการอภิปรายเกี่ยวกับการทำให้เป็นมาตรฐานL1 กับ L2 มีการประกาศแจ้งความว่า:

การเลือกคุณสมบัติในตัวถูกกล่าวถึงบ่อยครั้งว่าเป็นคุณสมบัติที่มีประโยชน์ของ L1-norm ซึ่ง L2-norm ไม่ได้ นี่เป็นผลมาจาก L1-norm ซึ่งมีแนวโน้มที่จะสร้างสัมประสิทธิ์กระจัดกระจาย (อธิบายไว้ด้านล่าง) สมมติว่าตัวแบบมีค่าสัมประสิทธิ์ 100 แต่มีเพียง 10 ตัวเท่านั้นที่มีค่าสัมประสิทธิ์ไม่ใช่ศูนย์นี่เป็นการบอกอย่างมีประสิทธิภาพว่า "อีก 90 ตัวทำนายไร้ประโยชน์ในการทำนายค่าเป้าหมาย"

การอ่านระหว่างบรรทัดฉันจะเดาว่าถ้าค่าสัมประสิทธิ์ใกล้เคียงกับ 0 แล้วตัวแปรคุณลักษณะที่มีค่าสัมประสิทธิ์นั้นจะต้องมีพลังการทำนายน้อย

แก้ไข : ฉันยังใช้ z-scaling กับตัวแปรตัวเลขของฉัน


1
โปรดทราบว่ารหัสการวิเคราะห์ LASSO (L1-norm) และการวิเคราะห์สันเขาริดจ์ (L2-norm) ควรทำการปรับขนาดตัวแปรทำนายล่วงหน้าก่อนทำการวิเคราะห์แม้ว่ารหัสจะแปลงค่าสัมประสิทธิ์กลับไปเป็นระดับตัวแปรดั้งเดิม ผู้ที่ใช้รหัสที่ไม่ได้กำหนดขนาดท้ายด้วยปัญหาที่ระบุไว้ในคำตอบจาก @josliber ไม่ว่าพวกเขากำลังทำ OLS, LASSO หรือสันเขา
EdM

3
ฉันคิดว่าสิ่งที่ควรค่าแก่การกล่าวถึงคือเมื่อคุณไตร่ตรองถึงสิ่งที่กำลังพยายามแสดงออกโดยวลี "แล้วตัวแปรคุณลักษณะที่มีค่าสัมประสิทธิ์นั้นจะต้องมีพลังการทำนายน้อย" คุณสามารถกำหนดสิ่งที่หมายถึงจริง ๆ ได้หรือไม่? ฉันพบว่าประสบการณ์ว่าแนวคิดของ "พลังการทำนาย" ของตัวแปรแต่ละตัวในโมเดลหลายตัวแปรไม่ได้ตกลงกันโดยทั่วไปบนพื้นฐานแนวคิด
Matthew Drury

4
ฉันคิดว่าข้อผิดพลาดในการคิดแบบนั้นคือคุณอาจไม่ได้จำกัด อยู่แค่การสร้างแบบจำลองตัวแปรเดียว ถ้าคุณเป็นและคุณต้องการให้แบบจำลองมีความแม่นยำที่ดีที่สุดพวกเขาแน่ใจว่านั่นเป็นสิ่งที่สมเหตุสมผลที่จะทำ หากคุณไม่ใช่เช่นถ้าคุณกำลังจะสร้างแบบจำลองหลายตัวแปรดังนั้นเมื่อ @EdM ตอบแนวคิดของความสำคัญของตัวแปรนั้นมากลื่นและไม่มีรากฐานแนวคิดที่มั่นคง ไม่ชัดเจนเลยว่าอำนาจการทำนายในตัวแบบ univariate ควรถูกมองว่ามีความเกี่ยวข้องในการตั้งค่าหลายตัวแปร
Matthew Drury

1
@MatthewDrury: ฉันไม่แน่ใจว่าทำไมคุณถึงทำเรื่องใหญ่ ๆ ให้มีฟีเจอร์หลากหลาย มีฟิลด์ทั้งหมดของ "การเลือกคุณสมบัติ" (เช่นวิธีการห่อหุ้ม) ที่มีอยู่; คุณแนะนำว่าสาขานี้ไม่มีรากฐานทางความคิดที่มั่นคงหรือไม่?
stackoverflowuser2010

1
@ stackoverflowuser2010 อืมฉันอาจเป็นคนสำคัญในความคิดของฉันที่นี่ แต่นั่นจะเป็นคำอธิบายที่ถูกต้องเกี่ยวกับมุมมองของฉัน
Matthew Drury

คำตอบ:


24

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

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

summary(lm(Petal.Width~Petal.Length, data=iris))
# Call:
# lm(formula = Petal.Width ~ Petal.Length, data = iris)
# 
# Residuals:
#      Min       1Q   Median       3Q      Max 
# -0.56515 -0.12358 -0.01898  0.13288  0.64272 
# 
# Coefficients:
#               Estimate Std. Error t value Pr(>|t|)    
# (Intercept)  -0.363076   0.039762  -9.131  4.7e-16 ***
# Petal.Length  0.415755   0.009582  43.387  < 2e-16 ***
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# Residual standard error: 0.2065 on 148 degrees of freedom
# Multiple R-squared:  0.9271,  Adjusted R-squared:  0.9266 
# F-statistic:  1882 on 1 and 148 DF,  p-value: < 2.2e-16

โมเดลของเราได้รับค่า R ^ 2 ที่ปรับค่าแล้ว 0.9266 และกำหนดค่าสัมประสิทธิ์ 0.415755 ให้กับตัวแปร Petal.Length

อย่างไรก็ตามทางเลือกในการกำหนด Petal ความยาวเป็นเซนติเมตรค่อนข้างอิสระและเราสามารถกำหนดตัวแปรเป็นเมตรได้:

iris$Petal.Length.Meters <- iris$Petal.Length / 100
summary(lm(Petal.Width~Petal.Length.Meters, data=iris))
# Call:
# lm(formula = Petal.Width ~ Petal.Length.Meters, data = iris)
# 
# Residuals:
#      Min       1Q   Median       3Q      Max 
# -0.56515 -0.12358 -0.01898  0.13288  0.64272 
# 
# Coefficients:
#                     Estimate Std. Error t value Pr(>|t|)    
# (Intercept)         -0.36308    0.03976  -9.131  4.7e-16 ***
# Petal.Length.Meters 41.57554    0.95824  43.387  < 2e-16 ***
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# Residual standard error: 0.2065 on 148 degrees of freedom
# Multiple R-squared:  0.9271,  Adjusted R-squared:  0.9266 
# F-statistic:  1882 on 1 and 148 DF,  p-value: < 2.2e-16

แน่นอนว่านี่ไม่ได้ส่งผลกระทบต่อโมเดลที่ได้รับการติดตั้ง แต่อย่างใด - เราเพียงกำหนดค่าสัมประสิทธิ์ที่ใหญ่กว่าให้กับ Petal.Length.Meters (41.57554) มากกว่า Petal.Length (0.415755) คุณสมบัติอื่น ๆ ทั้งหมดของแบบจำลอง (ปรับ R ^ 2, สถิติ t, ค่า p, ฯลฯ ) เหมือนกัน

โดยทั่วไปเมื่อทำการปรับโมเดลเชิงเส้นที่ทำให้เป็นมาตรฐานแบบปกติหนึ่งจะทำให้ตัวแปรเป็นมาตรฐานแรก (ตัวอย่างเช่นมีค่าเฉลี่ย 0 และความแปรปรวนของหน่วย) เพื่อหลีกเลี่ยงการให้ความสำคัญกับตัวแปรอื่น ๆ

สมมติว่าข้อมูลปกติ

แม้ว่าคุณจะทำให้ตัวแปรทั้งหมดเป็นปกติ แต่ตัวแปรที่มีค่าสัมประสิทธิ์สูงกว่านั้นอาจยังไม่เป็นประโยชน์ในการทำนายเนื่องจากตัวแปรอิสระนั้นไม่ค่อยได้รับการตั้งค่า (มีความแปรปรวนต่ำ) เป็นตัวอย่างให้พิจารณาชุดข้อมูลที่มีตัวแปร Z และตัวแปรอิสระ X และ Y ที่รับค่าไบนารี

set.seed(144)
dat <- data.frame(X=rep(c(0, 1), each=50000),
                  Y=rep(c(0, 1), c(1000, 99000)))
dat$Z <- dat$X + 2*dat$Y + rnorm(100000)

จากการก่อสร้างสัมประสิทธิ์สำหรับ Y นั้นมีขนาดใหญ่เป็นสองเท่าของสัมประสิทธิ์สำหรับ X เมื่อทั้งสองถูกใช้เพื่อทำนาย Z ผ่านการถดถอยเชิงเส้น:

summary(lm(Z~X+Y, data=dat))
# Call:
# lm(formula = Z ~ X + Y, data = dat)
# 
# Residuals:
#     Min      1Q  Median      3Q     Max 
# -4.4991 -0.6749 -0.0056  0.6723  4.7342 
# 
# Coefficients:
#              Estimate Std. Error t value Pr(>|t|)    
# (Intercept) -0.094793   0.031598   -3.00   0.0027 ** 
# X            0.999435   0.006352  157.35   <2e-16 ***
# Y            2.099410   0.031919   65.77   <2e-16 ***
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# Residual standard error: 0.9992 on 99997 degrees of freedom
# Multiple R-squared:  0.2394,  Adjusted R-squared:  0.2394 
# F-statistic: 1.574e+04 on 2 and 99997 DF,  p-value: < 2.2e-16

ยัง X อธิบายถึงความแปรปรวนใน Z มากกว่า Y (รูปแบบการถดถอยเชิงเส้นทำนาย Z กับ X มีค่า R ^ 2 0.2065 ในขณะที่แบบจำลองการถดถอยเชิงเส้นทำนาย Z กับ Y มีค่า R ^ 2 0.0511):

summary(lm(Z~X, data=dat))
# Call:
# lm(formula = Z ~ X, data = dat)
# 
# Residuals:
#     Min      1Q  Median      3Q     Max 
# -5.2587 -0.6759  0.0038  0.6842  4.7342 
# 
# Coefficients:
#             Estimate Std. Error t value Pr(>|t|)    
# (Intercept) 1.962629   0.004564   430.0   <2e-16 ***
# X           1.041424   0.006455   161.3   <2e-16 ***
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# Residual standard error: 1.021 on 99998 degrees of freedom
# Multiple R-squared:  0.2065,  Adjusted R-squared:  0.2065 
# F-statistic: 2.603e+04 on 1 and 99998 DF,  p-value: < 2.2e-16

เมื่อเทียบกับ:

summary(lm(Z~Y, data=dat))
# Call:
# lm(formula = Z ~ Y, data = dat)
# 
# Residuals:
#     Min      1Q  Median      3Q     Max 
# -5.0038 -0.7638 -0.0007  0.7610  5.2288 
# 
# Coefficients:
#             Estimate Std. Error t value Pr(>|t|)    
# (Intercept) -0.09479    0.03529  -2.686  0.00724 ** 
# Y            2.60418    0.03547  73.416  < 2e-16 ***
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# Residual standard error: 1.116 on 99998 degrees of freedom
# Multiple R-squared:  0.05114, Adjusted R-squared:  0.05113 
# F-statistic:  5390 on 1 and 99998 DF,  p-value: < 2.2e-16

กรณีของความหลากหลายทางเชื้อชาติ

กรณีที่สามที่ค่าสัมประสิทธิ์ขนาดใหญ่อาจถูกหลอกลวงจะเป็นในกรณีที่มีความหลากหลายหลายระดับนัยสำคัญระหว่างตัวแปร ยกตัวอย่างเช่นพิจารณาชุดข้อมูลที่ X และ Y มีความสัมพันธ์สูง แต่ W ไม่ได้มีความสัมพันธ์สูงกับอีกสอง; เราพยายามทำนาย Z:

set.seed(144)
dat <- data.frame(W=rnorm(100000),
                  X=rnorm(100000))
dat$Y <- dat$X + rnorm(100000, 0, 0.001)
dat$Z <- 2*dat$W+10*dat$X-11*dat$Y + rnorm(100000)
cor(dat)
#              W             X             Y          Z
# W 1.000000e+00  5.191809e-05  5.200434e-05  0.8161636
# X 5.191809e-05  1.000000e+00  9.999995e-01 -0.4079183
# Y 5.200434e-05  9.999995e-01  1.000000e+00 -0.4079246
# Z 8.161636e-01 -4.079183e-01 -4.079246e-01  1.0000000

ตัวแปรเหล่านี้มีค่าเฉลี่ย (0) และความแปรปรวน (~ 1) เท่ากันและการถดถอยเชิงเส้นกำหนดค่าสัมประสิทธิ์ที่สูงขึ้นมาก (ในค่าสัมบูรณ์) ถึง X (ประมาณ 15) และ Y (ประมาณ -16) กว่า W (ประมาณ -16) ประมาณ 2):

summary(lm(Z~W+X+Y, data=dat))
# Call:
# lm(formula = Z ~ W + X + Y, data = dat)
# 
# Residuals:
#     Min      1Q  Median      3Q     Max 
# -4.1886 -0.6760  0.0026  0.6679  4.2232 
# 
# Coefficients:
#               Estimate Std. Error t value Pr(>|t|)    
# (Intercept)  1.831e-04  3.170e-03   0.058    0.954    
# W            2.001e+00  3.172e-03 630.811  < 2e-16 ***
# X            1.509e+01  3.177e+00   4.748 2.05e-06 ***
# Y           -1.609e+01  3.177e+00  -5.063 4.13e-07 ***
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# Residual standard error: 1.002 on 99996 degrees of freedom
# Multiple R-squared:  0.8326,  Adjusted R-squared:  0.8326 
# F-statistic: 1.658e+05 on 3 and 99996 DF,  p-value: < 2.2e-16

อย่างไรก็ตามในบรรดาตัวแปรสามตัวในแบบจำลอง W นั้นสำคัญที่สุด: ถ้าคุณลบ W ออกจากแบบจำลองเต็มรูปแบบค่า R ^ 2 จะลดลงจาก 0.833 เป็น 0.166 ในขณะที่ถ้าคุณวาง X หรือ Y ค่า R ^ 2 แทบจะไม่เปลี่ยนแปลงเลย


1
(+1) ฉันคิดว่านี่เป็นคำตอบที่ดีและต้องทำประเด็นนี้ ในทางกลับกันฉันเชื่อว่ามีหลายสิ่งหลายอย่างที่จะพูดแม้เมื่อตัวแปรนั้นได้มาตรฐาน (และมีหน่วยน้อย) ดังนั้นจึงมีที่ว่างสำหรับคำตอบอีกสองสามข้อ
Matthew Drury

ขอบคุณสำหรับคำตอบ. ในขณะที่การเขียนของคุณมีความยาวจะไม่ละเอียดมากนักเพราะคุณกำลังหาข้อสรุปจากข้อมูลสังเคราะห์ขนาดเล็ก นอกจากนี้ R ^ 2 ยังใช้เฉพาะกับการถดถอยเชิงเส้น ฉันเชื่อว่าการวัดข้อผิดพลาดที่เหมาะสมกว่าคือ RMSE หรือความแม่นยำ / F1 สำหรับปัญหาการจำแนกประเภท
stackoverflowuser2010

1
แต่ถ้าคุณปรับขนาดข้อมูลในตัวอย่างที่ผ่านมาคุณมีตัวแปรสำคัญเพียงตัวเดียวคือ W
marcodena

11

"ความสำคัญของคุณลักษณะ" เป็นแนวคิดที่ลื่นไหลมากแม้เมื่อตัวทำนายทั้งหมดได้รับการปรับให้อยู่ในระดับทั่วไป (ซึ่งในตัวมันเองเป็นปัญหาที่ไม่สำคัญในการใช้งานจริงที่เกี่ยวข้องกับตัวแปรเชิงหมวดหมู่หรือการแจกแจงเบ้) ดังนั้นหากคุณหลีกเลี่ยงปัญหาการปรับสเกลที่ระบุไว้ในคำตอบโดย @josliber หรือปัญหาความแปรปรวนที่คาดการณ์ต่ำที่เพิ่มขึ้นโดย @dsaxton คุณยังคงมีปัญหาเพิ่มเติม

ตัวอย่างเช่นการวัดที่มีประโยชน์มากขึ้นของความสำคัญของคุณลักษณะอาจเป็นอัตราส่วนของค่าสัมประสิทธิ์ของมันต่อข้อผิดพลาดโดยประมาณของค่าสัมประสิทธิ์ของมัน สัมประสิทธิ์สูงที่มีข้อผิดพลาดโดยประมาณขนาดใหญ่ไม่จำเป็นต้องเป็นประโยชน์ในการทำนาย ขนาดของสัมประสิทธิ์ดังนั้นเพียงอย่างเดียวแม้ในสถานการณ์ที่กำหนดไว้ล่วงหน้าไม่ได้เป็นแนวทางที่ดีในการ "สำคัญ"

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

นอกจากนี้ความพยายามในการเลือกตัวแปรตัวทำนาย "สำคัญ" มักจะขึ้นอยู่กับตัวอย่างข้อมูลที่เฉพาะเจาะจงและมักจะไม่ขยายตัวอย่างต่อไปโดยเฉพาะอย่างยิ่งโดยเฉพาะอย่างยิ่งหากตัวแปรมีความสัมพันธ์กัน คุณสามารถเห็นสิ่งนี้ได้ด้วยตัวเองโดยการเลือกคุณสมบัติซ้ำหลาย ๆ ตัวอย่างบูตสแตรปของชุดข้อมูลเดียวกัน Frank Harrell ในคำตอบนี้แสดงวิธีใช้rmsแพ็คเกจของเขาใน R เพื่อจัดลำดับความสำคัญของคุณลักษณะและบันทึกในคำตอบนี้วิธีใช้ bootstrap เพื่อให้ได้ช่วงความมั่นใจสำหรับการจัดอันดับ Bootstrapping สามารถใช้เป็นข้อควรระวังสำหรับผู้ที่ให้ความสำคัญมากเกินไปใน "ความสำคัญของคุณลักษณะ"

คำถามนี้จากเกือบ 3 ปีที่ผ่านมาชี้โดย @amoeba ยังมีรายละเอียดมากมายเกี่ยวกับปัญหาที่มีความสำคัญกับคุณลักษณะในแบบจำลองการถดถอยหลายแบบ


อัตราส่วนของข้อผิดพลาดโดยประมาณ สิ่งนี้เรียกว่า "สัมประสิทธิ์มาตรฐาน" หรือไม่?
HelloWorld

@StudentT " สัมประสิทธิ์มาตรฐาน " คือสัมประสิทธิ์การถดถอยเมื่อตัวแปรอิสระและตัวแปรตามทั้งหมดถูกปรับอัตราส่วนให้มีความแปรปรวนของหน่วย ซึ่งรวมถึงไม่มีข้อมูลเกี่ยวกับข้อผิดพลาดโดยประมาณในค่าสัมประสิทธิ์ อัตราส่วนที่ฉันอธิบายคือสแควร์รูทของสถิติ Wald ที่ Harrell ใช้เป็นตัววัดความสำคัญของตัวแปรในลิงค์แรกของฉัน
EdM

6

เพียงเพื่อเพิ่มไปยังคำตอบก่อนหน้าสัมประสิทธิ์เองก็ล้มเหลวในการจับความแปรปรวนของการจัดแสดงนิทรรศการซึ่งมีผลกระทบมากในการทำนายผล พิจารณารูปแบบที่เรียบง่าย

E(Yผม)=α+βXผม

ที่ไหน Xผม เป็น Bernoulli(พี)ตัวแปรสุ่ม. โดยการถ่ายพี0 เราสามารถส่งประโยชน์ของการทำนายนี้ให้เป็นศูนย์เช่นกัน แต่ค่าสัมประสิทธิ์จะเป็น β.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.