L का उपयोग करते समय R में भार तर्क के पीछे सिद्धांत


12

एक साल के बाद स्नातक स्तर की पढ़ाई स्कूल में, "भारित कम से कम वर्गों" की मेरी समझ निम्नलिखित है: , कुछ डिजाइन मैट्रिक्स, \ " boldsymbol \ beta \ in \ mathbb {R} ^ p एक पैरामीटर वेक्टर, \ boldsymbol \ epsilon \ in \ mathbb {R} ^ n एक त्रुटि वेक्टर हो सकता है जैसे कि \ boldsymbol \ e \ eililon \ sim \ mathcal {N} (\ mathbf) {0}, \ sigma ^ 2 \ mathbf {V}) , जहां \ mathbf {V} = \ text {diag} (v_1, v_2, \ dots, v_n) और \ sigma ^ 2 } 0 । फिर मॉडल \ mathbf {y} = \ mathbf {X} \ boldsymbol \ beta + \ boldsymbol \ epsilonyRnXn×pβRp ε ~ एन ( 0 , σ 2 वी ) वी = निदान ( v 1 , वी 2 , ... , वी एन ) σ 2 > 0 y = एक्स बीटा + εϵRnϵN(0,σ2V)V=diag(v1,v2,,vn)σ2>0

y=Xβ+ϵ
मान्यताओं के तहत "भारित कम से कम वर्ग" मॉडल कहा जाता है। डब्लूएलएस की समस्या समाप्त हो रही है
argminβ(yXβ)TV1(yXβ).
मान लीजिए y=[y1yn]T , β=[β1βp]T , और
X=[x11x1px21x2pxn1xnp]=[x1Tx2TxnT].
xiTβR1 , so
yXβ=[y1x1Tβy2x2TβynxnTβ].
यह \ {start
(yXβ)TV1=[y1x1Tβy2x2TβynxnTβ]diag(v11,v21,,vn1)=[v11(y1x1Tβ)v21(y2x2Tβ)vn1(ynxnTβ)]
v_n ^ {- 1} (y_n- \ mathbf {x} _ {n} ^ {T} \ boldsymbol \ beta) \ end {bmatrix} \ end {align} इस प्रकार दे रहे हैं
argminβ(yXβ)TV1(yXβ)=argminβi=1nvi1(yixiTβ)2.
β का अनुमान है कि
β^=(XTV1X)1XTV1y.
यह उस ज्ञान की सीमा है जिससे मैं परिचित हूं। मुझे यह कभी नहीं सिखाया गया कि v1,v2,,vn को कैसे चुना जाना चाहिए, हालांकि ऐसा लगता है कि, यहाँ से देखते हुए , कि आमतौर पर Var(ϵ)=diag(σ12,σ22,,σn2), जो सहज ज्ञान युक्त बनाता है। (डब्लूएलएस समस्या में अत्यधिक चर भार कम वजन दें, और कम परिवर्तनशीलता अधिक भार के साथ अवलोकन दें।)

मैं इस बारे में विशेष रूप से उत्सुक हूं कि कैसे फ़ंक्शन को Rवज़न संभालता है lm()जब वज़न पूर्णांक के लिए सौंपा जाता है। उपयोग करने से ?lm:

गैर- NULLवज़न का उपयोग यह दर्शाने के लिए किया जा सकता है कि विभिन्न अवलोकनों के भिन्न भिन्न रूप होते हैं (भार में मान भिन्नता के विपरीत होते हैं); या समतुल्य जब वजन के तत्वों धनात्मक पूर्णांक होते हैं , कि प्रत्येक प्रतिक्रिया का मध्यमान है इकाई वजन टिप्पणियों (मामले देखते हैं कि सहित टिप्पणियों के बराबर और डेटा संक्षेप गया है)।wiyiwiwiyi

मैंने इस पैराग्राफ को कई बार फिर से पढ़ा है, और इससे मुझे कोई मतलब नहीं है। मेरे द्वारा विकसित किए गए ढांचे का उपयोग करते हुए, मान लीजिए कि मेरे पास निम्नलिखित सिम्युलेटेड मूल्य हैं:

x <- c(0, 1, 2)
y <- c(0.25, 0.75, 0.85)
weights <- c(50, 85, 75)

lm(y~x, weights = weights)

Call:
lm(formula = y ~ x, weights = weights)

Coefficients:
(Intercept)            x  
     0.3495       0.2834  

ऊपर मैंने जो फ्रेमवर्क विकसित किया है, उसका उपयोग करके ये पैरामीटर कैसे निकाले जाते हैं? यहाँ हाथ से ऐसा करने का मेरा प्रयास है: , हमारे पास और यह करने में देता है (ध्यान दें कि इस मामले में invertibility काम नहीं करती है, इसलिए मैंने सामान्यीकृत व्युत्क्रम का उपयोग किया):V=diag(50,85,75)

[β^0β^1]=([111111]diag(1/50,1/85,1/75)[111111]T)1[111111]Tdiag(1/50,1/85,1/75)[0.250.750.85]
R
X <- matrix(rep(1, times = 6), byrow = T, nrow = 3, ncol = 2)
V_inv <- diag(c(1/50, 1/85, 1/75))
y <- c(0.25, 0.75, 0.85)

library(MASS)
ginv(t(X) %*% V_inv %*% X) %*% t(X) %*% V_inv %*% y

         [,1]
[1,] 0.278913
[2,] 0.278913

ये lm()आउटपुट से मानों से मेल नहीं खाते । मैं क्या गलत कर रहा हूं?

जवाबों:


4

मैट्रिक्स होना चाहिए नहीं इसके अलावा, आपका होना चाहिए , नहीं ।X

[101112],
[111111].
V_invdiag(weights)diag(1/weights)
x <- c(0, 1, 2)
y <- c(0.25, 0.75, 0.85)
weights <- c(50, 85, 75)
X <- cbind(1, x)

> solve(t(X) %*% diag(weights) %*% X, t(X) %*% diag(weights) %*% y)
       [,1]
  0.3495122
x 0.2834146

विशेष रूप से गलत डिज़ाइन मैट्रिक्स को साफ़ करने के लिए धन्यवाद! मैं इस सामग्री पर काफी कठोर हूँ। तो, एक आखिरी सवाल के रूप में, इसका मतलब यह है कि WLS मान्यताओं में ? Var(ϵ)=diag(1/weights)
क्लैरिनिटिस्ट

हां, हालांकि वजन केवल 1 / भिन्नता के लिए आनुपातिक होना चाहिए, जरूरी नहीं कि समान हो। उदाहरण के लिए, यदि आप weights <- c(50, 85, 75)/2अपने उदाहरण में उपयोग करते हैं, तो आपको वही परिणाम मिलता है।
999 पर mark999

3

अधिक संक्षेप में इस उत्तर के लिए, का उपयोग कर भारित कम से कम वर्गों प्रतिगमन weightsमें Rनिम्नलिखित मान्यताओं बनाता है: लगता है हमारे पास weights = c(w_1, w_2, ..., w_n)। Let , एक डिज़ाइन मैट्रिक्स हो, एक पैरामीटर वेक्टर हो, और एक त्रुटि सदिश होना चाहिए जिसका अर्थ है और भिन्नता मैट्रिक्स , जहां । फिर, मूल पोस्ट में व्युत्पत्ति के समान चरणों के बाद, हमारे पास है। yRnXn×pβRpϵRn0σ2Vσ2>0

V=diag(1/w1,1/w2,,1/wn).
argminβ(yXβ)TV1(yXβ)=argminβi=1n(1/wi)1(yixiTβ)2=argminβi=1nwi(yixiTβ)2
और का उपयोग कर अनुमान लगाया गया है से GLS मान्यताओंβ
β^=(XTV1X)1XTV1y
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.