जवाबों:
gls
पैकेज nlme से (सामान्यीकृत कम से कम वर्गों) पर एक नज़र है
आप प्रतिगमन में त्रुटियों के लिए सहसंबंध प्रोफ़ाइल सेट कर सकते हैं, जैसे ARMA, आदि:
gls(Y ~ X, correlation=corARMA(p=1,q=1))
ARMA (1,1) त्रुटियों के लिए।
gls()
फ़ंक्शन के अलावा nlme
, आप MLE का उपयोग करके पैकेज arima()
में फ़ंक्शन का उपयोग भी कर सकते हैं stats
। यहां दोनों कार्यों के साथ एक उदाहरण दिया गया है।
x <- 1:100
e <- 25*arima.sim(model=list(ar=0.3),n=100)
y <- 1 + 2*x + e
###Fit the model using gls()
require(nlme)
(fit1 <- gls(y~x, corr=corAR1(0.5,form=~1)))
Generalized least squares fit by REML
Model: y ~ x
Data: NULL
Log-restricted-likelihood: -443.6371
Coefficients:
(Intercept) x
4.379304 1.957357
Correlation Structure: AR(1)
Formula: ~1
Parameter estimate(s):
Phi
0.3637263
Degrees of freedom: 100 total; 98 residual
Residual standard error: 22.32908
###Fit the model using arima()
(fit2 <- arima(y, xreg=x, order=c(1,0,0)))
Call:
arima(x = y, order = c(1, 0, 0), xreg = x)
Coefficients:
ar1 intercept x
0.3352 4.5052 1.9548
s.e. 0.0960 6.1743 0.1060
sigma^2 estimated as 423.7: log likelihood = -444.4, aic = 896.81
Arima () फ़ंक्शन का लाभ यह है कि आप ARMA त्रुटि प्रक्रियाओं की एक बहुत बड़ी विविधता को फिट कर सकते हैं। यदि आप पूर्वानुमान पैकेज से auto.arima () फ़ंक्शन का उपयोग करते हैं, तो आप स्वचालित रूप से ARMA त्रुटि की पहचान कर सकते हैं:
require(forecast)
fit3 <- auto.arima(y, xreg=x)
arima
विकल्प prais
पहली नज़र में स्टैटा से अधिक भिन्न दिखता है , लेकिन यह अधिक लचीला है और आप tsdiag
अपने एआर (1) धारणा को वास्तव में फिट होने का अच्छा दृश्य प्राप्त करने के लिए भी उपयोग कर सकते हैं ।
पैकेज nlme से फ़ंक्शन gls का उपयोग करें । यहाँ उदाहरण है।
##Generate data frame with regressor and AR(1) error. The error term is
## \eps_t=0.3*\eps_{t-1}+v_t
df <- data.frame(x1=rnorm(100), err=filter(rnorm(100)/5,filter=0.3,method="recursive"))
##Create ther response
df$y <- 1 + 2*df$x + df$err
###Fit the model
gls(y~x, data=df, corr=corAR1(0.5,form=~1))
Generalized least squares fit by REML
Model: y ~ x
Data: df
Log-restricted-likelihood: 9.986475
Coefficients:
(Intercept) x
1.040129 2.001884
Correlation Structure: AR(1)
Formula: ~1
Parameter estimate(s):
Phi
0.2686271
Degrees of freedom: 100 total; 98 residual
Residual standard error: 0.2172698
चूंकि मॉडल को अधिकतम संभावना का उपयोग करके फिट किया गया है, इसलिए आपको शुरुआती मूल्यों की आपूर्ति करने की आवश्यकता है। डिफ़ॉल्ट शुरुआती मूल्य 0 है, लेकिन हमेशा के लिए अभिसरण सुनिश्चित करने के लिए कई मूल्यों की कोशिश करना अच्छा है।
जैसा कि डॉ। जी ने बताया है कि आप अन्य सहसंबंध संरचनाओं का भी उपयोग कर सकते हैं, अर्थात् ARMA।
ध्यान दें कि सामान्य रूप से कम से कम वर्गों के अनुमान संगत हैं यदि प्रतिगमन त्रुटियों के सहसंयोजक मैट्रिक्स, पहचान मैट्रिक्स के कई नहीं हैं, इसलिए यदि आप विशिष्ट सहसंयोजक संरचना के साथ मॉडल फिट करते हैं, तो पहले आपको यह परीक्षण करने की आवश्यकता है कि क्या यह उपयुक्त है।
आप gls आउटपुट पर पूर्वानुमान का उपयोग कर सकते हैं। देखें? साथ ही आप सहसंबंध संरचना में "प्रपत्र" शब्द द्वारा अवलोकन के आदेश को निर्दिष्ट कर सकते हैं। उदाहरण के लिए:
corr=corAR1(form=~1)
इंगित करता है कि डेटा का क्रम वह है जो वे तालिका में हैं।
corr=corAR1(form=~Year)
इंगित करता है कि आदेश कारक वर्ष में से एक है .. अंत में "0.5" मूल्य corr=corAR1(0.5,form=~1)?
आम तौर पर एमए के मामले में एआर, थीटा के मामले में विचरण संरचना (फी, का प्रतिनिधित्व करने के लिए अनुमानित पैरामीटर के मूल्य के लिए सेट है)। ।)। जैसा कि रॉब हयंडमैन ने उल्लेख किया है, अनुकूलन के लिए इसे स्थापित करना और उपयोग करना वैकल्पिक है।