การกำหนดมาตรฐานตัวแปรอิสระจะช่วยลดความเหลื่อมล้ำหรือไม่?


13

ฉันเจอข้อความที่ดีมากใน Bayes / MCMC ฝ่ายไอทีแนะนำว่าการสร้างมาตรฐานของตัวแปรอิสระของคุณจะทำให้อัลกอริทึม MCMC (Metropolis) มีประสิทธิภาพมากขึ้น นั่นเป็นเรื่องจริงเหรอ? นี่คือสิ่งที่ฉันควรทำตามมาตรฐาน (ขออภัย)

Kruschke 2011, ทำการวิเคราะห์ข้อมูลแบบเบย์ (AP)

แก้ไข: ตัวอย่างเช่น

     > data(longley)
     > cor.test(longley$Unemployed, longley$Armed.Forces)

Pearson's product-moment correlation

     data:  longley$Unemployed and longley$Armed.Forces 
     t = -0.6745, df = 14, p-value = 0.5109
     alternative hypothesis: true correlation is not equal to 0 
     95 percent confidence interval:
     -0.6187113  0.3489766 
     sample estimates:
      cor 
     -0.1774206 

     > standardise <- function(x) {(x-mean(x))/sd(x)}
     > cor.test(standardise(longley$Unemployed), standardise(longley$Armed.Forces))

Pearson's product-moment correlation

     data:  standardise(longley$Unemployed) and standardise(longley$Armed.Forces) 
     t = -0.6745, df = 14, p-value = 0.5109
      alternative hypothesis: true correlation is not equal to 0 
     95 percent confidence interval:
      -0.6187113  0.3489766 
      sample estimates:
       cor 
     -0.1774206 

สิ่งนี้ไม่ได้ลดความสัมพันธ์หรือดังนั้นการ จำกัด การพึ่งพาเชิงเส้นของเวกเตอร์

เกิดอะไรขึ้น?

R

คำตอบ:


19

มันไม่เปลี่ยน collinearity ระหว่างผลกระทบหลักเลย การปรับสเกลไม่ได้เช่นกัน การแปลงเชิงเส้นใด ๆ จะไม่ทำเช่นนั้น สิ่งที่เปลี่ยนแปลงคือความสัมพันธ์ระหว่างเอฟเฟ็กต์หลักและการโต้ตอบ แม้ว่า A และ B จะขึ้นอยู่กับความสัมพันธ์ของ 0 แต่ความสัมพันธ์ระหว่าง A และ A: B จะขึ้นอยู่กับปัจจัยระดับ

ลองทำสิ่งต่อไปนี้ในคอนโซล R โปรดทราบว่าrnormเพิ่งสร้างตัวอย่างสุ่มจากการแจกแจงแบบปกติด้วยค่าประชากรที่คุณตั้งค่าในกรณีนี้ 50 ตัวอย่าง scaleฟังก์ชั่นมาตรฐานตัวอย่างเพื่อค่าเฉลี่ย 0 และ SD 1

set.seed(1) # the samples will be controlled by setting the seed - you can try others
a <- rnorm(50, mean = 0, sd = 1)
b <- rnorm(50, mean = 0, sd = 1)
mean(a); mean(b)
# [1] 0.1004483 # not the population mean, just a sample
# [1] 0.1173265
cor(a ,b)
# [1] -0.03908718

ความสัมพันธ์แบบบังเอิญมีค่าใกล้ 0 สำหรับตัวอย่างอิสระเหล่านี้ ทีนี้ทำให้ค่าเฉลี่ยเป็น 0 และ SD เท่ากับ 1

a <- scale( a )
b <- scale( b )
cor(a, b)
# [1,] -0.03908718

อีกครั้งนี้เป็นค่าเดียวกันแน่นอนแม้ว่าค่าเฉลี่ยคือ 0 และ SD = 1 สำหรับทั้งสองและab

cor(a, a*b)
# [1,] -0.01038144

สิ่งนี้อยู่ใกล้มาก 0 (a * b ถือได้ว่าเป็นคำศัพท์ที่ใช้โต้ตอบ)

แต่มักจะเป็น SD bและค่าเฉลี่ยของการพยากรณ์ที่แตกต่างกันค่อนข้างมากดังนั้นการเปลี่ยนแปลงให้ของ แทนที่จะเก็บตัวอย่างใหม่ฉันจะขายต้นฉบับbให้โดยมีค่าเฉลี่ย 5 และ SD เป็น 2

b <- b * 2 + 5
cor(a, b)
 # [1] -0.03908718

อีกครั้งความสัมพันธ์ที่คุ้นเคยที่เราได้เห็นมาตลอด มาตราส่วนจะมีผลกระทบต่อความสัมพันธ์ระหว่างไม่มีและa bแต่!!

cor(a, a*b)
# [1,] 0.9290406

ตอนนี้จะมีความสัมพันธ์ที่สำคัญซึ่งคุณสามารถทำให้หายไปได้โดยการวางศูนย์กลางและ / หรือทำให้เป็นมาตรฐาน ฉันมักจะไปด้วยเพียงแค่ศูนย์กลาง


1
+1 สำหรับคำตอบที่ครอบคลุมและเข้าใจได้ (พร้อมรหัส!)
Peter Flom

1
นอกจากนี้ยังมีประโยชน์ถ้าคุณต้องการที่จะรวมพูดคำกำลังสอง
Aniko

อย่างแน่นอน Aniko
John

1
คำตอบที่ดีที่สุด - ขอบคุณสำหรับสิ่งนี้ ฉันอาจทำหนังสือเล่มนี้ด้วยความอยุติธรรมในการตีความที่ผิดเช่นกัน แต่บางทีมันก็คุ้มค่าที่จะเปิดเผยความไม่รู้ของฉัน
rosser

7

ตามที่คนอื่น ๆ ได้กล่าวไปแล้วการสร้างมาตรฐานไม่เกี่ยวข้องกับความเป็นคู่กัน

collinearity ที่สมบูรณ์แบบ

มาเริ่มด้วยมาตรฐาน (อาคาการทำให้เป็นมาตรฐาน) คืออะไร, สิ่งที่เราหมายถึงคือการลบค่าเฉลี่ยและหารด้วยค่าเบี่ยงเบนมาตรฐานเพื่อให้ค่าเฉลี่ยที่เป็นผลลัพธ์เท่ากับศูนย์และส่วนเบี่ยงเบนมาตรฐานเป็นเอกภาพ ดังนั้นถ้าตัวแปรสุ่มมีค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานดังนั้นμ X σ XXμXσX

ZX=XμXσX

มีค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานได้รับคุณสมบัติของค่าที่คาดหวังและความแปรปรวนที่ ,และ ,โดยที่คือ rv และเป็นค่าคงที่μZ=0σZ=1E(X+a)=E(X)+aE(bX)=bE(X)Var(X+a)=Var(X)Var(bX)=b2Var(X)Xa,b

เราบอกว่าตัวแปรสองตัวและนั้นสมบูรณ์แบบถ้ามีค่าดังกล่าวและนั่นXYλ0λ1

Y=λ0+λ1X

สิ่งต่อไปนี้ถ้ามีค่าเฉลี่ยและค่าเบี่ยงเบนมาตรฐานแล้วมีค่าเฉลี่ยและค่าเบี่ยงเบนมาตรฐาน\ ตอนนี้เมื่อเราสร้างมาตรฐานของตัวแปรทั้งสอง (ลบค่าเฉลี่ยและหารด้วยค่าเบี่ยงเบนมาตรฐาน) เราจะได้ ...XμXσXYμY=λ0+λ1μXσY=λ1σXZX=ZX

ความสัมพันธ์

แน่นอน collinearity ที่สมบูรณ์แบบไม่ได้เป็นสิ่งที่เราจะเห็นว่าบ่อยครั้ง แต่ตัวแปรที่มีความสัมพันธ์กันอย่างมากอาจเป็นปัญหาได้ ดังนั้นมาตรฐานจะมีผลต่อสหสัมพันธ์หรือไม่ โปรดเปรียบเทียบแปลงต่อไปนี้ที่แสดงตัวแปรที่สัมพันธ์กันสองรายการบนสองแปลงก่อนและหลังการปรับอัตราส่วน: ป้อนคำอธิบายรูปภาพที่นี่

คุณเห็นความแตกต่างได้ไหม? อย่างที่คุณเห็นฉันตั้งใจลบเลเบลแกนเพื่อที่จะทำให้คุณมั่นใจว่าฉันไม่ได้โกงดูแปลงที่มีเลเบลเพิ่ม:

ป้อนคำอธิบายรูปภาพที่นี่

การพูดทางคณิตศาสตร์หากความสัมพันธ์คือ

Corr(X,Y)=Cov(X,Y)Var(X)Var(Y)

จากนั้นด้วยตัวแปร collinear ที่เรามี

Corr(X,Y)=E[(XμX)(YμY)]σXσY=E[(XμX)(λ0+λ1Xλ0λ1μX)]σXλ1σX=E[(XμX)(λ1Xλ1μX)]σXλ1σX=E[(XμX)λ1(XμX)]σXλ1σX=λ1E[(XμX)(XμX)]σXλ1σX=E[(XμX)(XμX)]σXσX

ตอนนี้ตั้งแต่ ,Cov(X,X)=Var(X)

=Cov(X,X)σX2=Var(X)Var(X)=1

ในขณะที่มีตัวแปรมาตรฐาน

Corr(ZX,ZY)=E[(ZX0)(ZY0)]1×1=Cov(ZX,ZY)=Var(ZX)=1

ตั้งแต่ ...ZX=ZY

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


0

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

หากคุณต้องการกำจัดความหลากหลายทางหลายทางระหว่างตัวแปรของคุณฉันขอแนะนำให้ใช้การวิเคราะห์ส่วนประกอบหลัก (PCA) อย่างที่คุณทราบ PCA นั้นมีประสิทธิภาพมากในการขจัดปัญหาความสัมพันธ์ระหว่างกันหลายค่า ในอีกทางหนึ่ง PCA วาทกรรมตัวแปรรวมกัน (องค์ประกอบหลัก P1, P2, ฯลฯ ... ) ค่อนข้างทึบแสง แบบจำลอง PCA นั้นมีความท้าทายมากกว่าที่จะอธิบายมากกว่าแบบหลายตัวแปรแบบดั้งเดิม


ทางเลือกที่ทันสมัยมักจะดีกว่าคือการทำให้เป็นมาตรฐาน
kjetil b halvorsen

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

0

มันไม่ลดความเป็นเส้นตรง แต่สามารถลด VIF ได้ โดยทั่วไปเราใช้ VIF เป็นตัวบ่งชี้สำหรับข้อกังวลสำหรับ collinearity

ที่มา: http://blog.minitab.com/blog/adventures-in-statistics-2/what-are-the-effects-of-multicollinearity-and-when-can-i-ignore-them


2
ยินดีต้อนรับสู่เว็บไซต์ ในปัจจุบันนี้เป็นความคิดเห็นมากกว่าคำตอบ คุณสามารถขยายได้โดยอาจให้ข้อมูลสรุปที่ลิงก์หรือเราสามารถแปลงเป็นความคิดเห็นให้คุณ นอกจากนี้การอ่านโพสต์ที่เชื่อมโยงของฉันไม่ได้ค่อนข้างที่มาตรฐานลด VIF โดยไม่ต้องลด collinearity ตัวอย่างของพวกเขานั้นเฉพาะเจาะจงมากและเหมาะสมยิ่งกว่านั้น
gung - Reinstate Monica

-3

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

แก้ไข: ฉันเห็นว่าฉันมีข้อผิดพลาด แม้ว่าการทำมาตรฐานจะทำอะไรลดความน่าเชื่อถือด้วยเงื่อนไขผลิตภัณฑ์ (เงื่อนไขการโต้ตอบ)


อืมคุณช่วยอธิบายได้มั้ย การกำหนดมาตรฐานเพียงแค่เปลี่ยนค่าเฉลี่ยและความแปรปรวนของตัวแปรสุ่ม (เป็น 0 และ 1 ตามลำดับ) สิ่งนี้ไม่ควรเปลี่ยนความสัมพันธ์ระหว่างตัวแปรสองตัว ฉันเห็นว่ามาตรฐานสามารถปรับปรุงประสิทธิภาพการคำนวณได้อย่างไร แต่ไม่ใช่ว่ามันจะช่วยลดความหลากหลายทางชีวภาพ
Charlie

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

แม้ว่าจะไม่ถูกต้องที่การเปลี่ยนแปลงมาตรฐานจะเปลี่ยนความ collinearity ในความหมายทางคณิตศาสตร์ล้วนๆ แต่ก็สามารถปรับปรุงเสถียรภาพเชิงตัวเลขของอัลกอริทึมเพื่อแก้ปัญหาระบบเชิงเส้น นั่นอาจเป็นสาเหตุของความสับสนในคำตอบนี้
whuber

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