क्या कई प्रतिगमन के लिए गुणांक खोजने के लिए सहसंयोजक मैट्रिक्स का उपयोग करने का एक तरीका है?


23

सरल रैखिक प्रतिगमन के लिए, प्रतिगमन गुणांक मैट्रिक्स से सीधे गणना योग्य , जहां आश्रित चर का सूचकांक है, और व्याख्यात्मक चर का सूचकांक है।C डी

Cd,eCe,e
de

यदि किसी के पास केवल सहसंयोजक मैट्रिक्स है, तो क्या कई व्याख्यात्मक चर वाले मॉडल के लिए गुणांक की गणना करना संभव है?

ETA: दो व्याख्यात्मक चर के लिए, ऐसा प्रतीत होता है कि और अनुरूप रूप से । मैं तुरंत नहीं देख रहा हूं कि इसे तीन या अधिक चर तक कैसे बढ़ाया जाए।

β1=Cov(y,x1)var(x2)Cov(y,x2)Cov(x1,x2)var(x1)var(x2)Cov(x1,x2)2
β2

3
गुणांक वेक्टर का समाधान है । कुछ बीजीय जोड़तोड़ से पता चलता है कि यह वास्तव में 2-गुणांक मामले में आपके द्वारा दिए गए फॉर्मूले के समान है। अच्छी तरह से यहाँ बाहर निकलना: stat.purdue.edu/~jennings/stat514/stat512notes/topic3.pdf । यकीन नहीं है कि अगर बिल्कुल मदद करता है। लेकिन मैं यह अनुमान लगाने के लिए उद्यम करूंगा कि यह उस सूत्र के आधार पर सामान्य रूप से असंभव है। β^XY=(XX)1β
छायाकार

1
@ डेविड क्या आपने बताया कि व्याख्यात्मक चर (2 से परे) की मनमानी संख्या तक इसे कैसे बढ़ाया जाए? मुझे अभिव्यक्ति चाहिए।
जेन वेन

1
@JaneWayne मुझे यकीन नहीं है कि मैं आपके प्रश्न को समझता हूं: व्हिबर ने मैट्रिक्स रूप में नीचे दिए गए समाधान,C1(Cov(Xi,y))
डेविड

1
हाँ, मैंने इसका अध्ययन किया और वह सही है।
जेन वेन

जवाबों:


36

हां, सभी चर के व्याख्यात्मक मैट्रिक्स - व्याख्यात्मक और प्रतिक्रिया - में सभी गुणांक खोजने के लिए आवश्यक जानकारी शामिल है, बशर्ते एक इंटरसेप्ट (निरंतर) शब्द मॉडल में शामिल है। (हालांकि सहसंयोजक निरंतर शब्द के बारे में कोई जानकारी नहीं देते हैं, यह डेटा के साधनों से पाया जा सकता है।)


विश्लेषण

व्याख्यात्मक चर के डेटा को -dimensional कॉलम vectors x 1 , x 2 , , x p और प्रतिक्रिया चर के रूप में व्यवस्थित किया जाना चाहिए स्तंभ वेक्टर y , एक यादृच्छिक चर Y की प्राप्ति माना जाता है । साधारण कम से कम वर्गों अनुमान बीटा मॉडल में गुणांकों केnx1,x2,,xpyYβ^

E(Y)=α+Xβ

कोडांतरण द्वारा प्राप्त कर रहे हैं स्तंभ वैक्टर एक्स 0 = ( 1 , 1 , ... , 1 ) ' , एक्स 1 , ... , एक्स पी एक में n × पी + 1 सरणी एक्स और रेखीय समीकरण प्रणाली को सुलझानेp+1X0=(1,1,,1),X1,,Xpn×p+1X

XXβ^=Xy.

यह सिस्टम के बराबर है

1nXXβ^=1nXy.

गाऊसी उन्मूलन इस प्रणाली को हल करेगा। यह मैट्रिक्स 1 से सटे हुए से आगे बढ़ता हैp+1×p+1औरp+1-vector11nXXp+1एक मेंपी+1×पी+2सरणीएकऔर यह पंक्ति को कम करने। 1nXyp+1×p+2A

पहला चरण 1 का निरीक्षण करेगा। इसे नॉनजरो होने के कारण, यहअपने पहले कॉलम में शेष प्रविष्टियों को शून्य करने के लिए शेष पंक्तियों में सेAकी पहली पंक्ति के उपयुक्त गुणकों को घटाता है। ये गुणक1 होंगे1n(XX)11=1nX0X0=1Aऔर नंबर की प्रविष्टि से घटायाएकमैं+1,जे+1=एक्स ' मैं एक्सजेबराबर होगा ¯ एक्स मैं ¯ एक्स जे। यहएक्सआईऔरएक्सजेके सहसंयोजक के लिए सिर्फ सूत्र है। इसके अलावा,i+1,p+2स्थितिमें बचे नंबर1 केबराबर है1nX0Xi=X¯iAi+1,j+1=XiXjX¯iX¯jXiXji+1,p+2 , की सहप्रसरणएक्समैंसाथy1nXiyXi¯y¯Xiy

इस प्रकार, गाऊसी उन्मूलन के पहले चरण के बाद प्रणाली को हल करने के लिए कम कर दिया जाता है

Cβ^=(Cov(Xi,y))

और स्पष्ट रूप से - चूंकि सभी गुणांक सहसंयोजक हैं - यह समाधान सभी चर के सहसंयोजक मैट्रिक्स से पाया जा सकता है।

(जब उलटी है समाधान लिखा जा सकता है सी - 1 ( Cov ( एक्स मैं , y ) ) ' । प्रश्न में दिए गए फार्मूले इस के विशेष मामले हैं जब पी = 1 और पी = 2 ऐसे फार्मूले बाहर लेखन स्पष्ट रूप से होगा। p बढ़ता ही अधिक से अधिक जटिल हो जाता है। इसके अलावा, वे संख्यात्मक अभिकलन के लिए नीच हैं, जो मैट्रिक्स C को निष्क्रिय करने के बजाय समीकरणों की प्रणाली को हल करके सबसे अच्छा किया जाता है ।)CC1(Cov(Xi,y))p=1p=2pC

निरंतर अवधि के औसत के बीच का अंतर हो जाएगा और मतलब मूल्यों का अनुमान है, से की भविष्यवाणी की एक्स βyXβ^


उदाहरण

वर्णन करने के लिए, निम्न Rकोड कुछ डेटा बनाता है, उनके सहसंयोजकों की गणना करता है, और उस जानकारी से पूरी तरह से कम से कम चौकोर गुणांक अनुमान प्राप्त करता है। यह उनकी तुलना सबसे कम वर्ग के अनुमानक से प्राप्त अनुमानों से करता है lm

#
# 1. Generate some data.
#
n <- 10        # Data set size
p <- 2         # Number of regressors
set.seed(17)
z <- matrix(rnorm(n*(p+1)), nrow=n, dimnames=list(NULL, paste0("x", 1:(p+1))))
y <- z[, p+1]
x <- z[, -(p+1), drop=FALSE]; 
#
# 2. Find the OLS coefficients from the covariances only.
#
a <- cov(x)
b <- cov(x,y)
beta.hat <- solve(a, b)[, 1]  # Coefficients from the covariance matrix
#
# 2a. Find the intercept from the means and coefficients.
#
y.bar <- mean(y)
x.bar <- colMeans(x)
intercept <- y.bar - x.bar %*% beta.hat  

आउटपुट दो तरीकों के बीच समझौता दिखाता है:

(rbind(`From covariances` = c(`(Intercept)`=intercept, beta.hat),
       `From data via OLS` = coef(lm(y ~ x))))
                  (Intercept)        x1        x2
From covariances     0.946155 -0.424551 -1.006675
From data via OLS    0.946155 -0.424551 -1.006675

1
Xcov(z)

7
इस तरह के उत्तर इस क्रॉस की वैधता को
बढ़ाते हैं

@whuber In your example, you computed the intercept from y and x and beta.hat. The y and x are part of the original data. Is it possible to derive the intercept from the covariance matrix and means alone? Could you please provide the notation?
Jane Wayne

@Jane Given only the means X¯, apply β^ to them:
X¯β^=Xβ^¯.
I have changed the code to reflect this.
whuber

very helpful +1 for the code
Michael
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.