r - भरन - इनकम टैक्स रिटर्न क्या है




भविष्यवाणी मूल्य में कोई विचलन नहीं होने पर एमएम रिटर्न क्यों करता है? (2)

निम्न आर कोड पर विचार करें (जो मुझे लगता है, अंततः कुछ फोर्ट्रन को फोन करता है):

X <- 1:1000
Y <- rep(1,1000)
summary(lm(Y~X))

मूल्यों को सारांश से क्यों वापस किया जाता है? क्या इस मॉडल को फिट नहीं करना चाहिए क्योंकि वाई में कोई विचलन नहीं है? अधिक महत्वपूर्ण बात, मॉडल आर ^ 2 ~ = .5 क्यों है?

संपादित करें

मैंने एलएम से एलएम के लिए कोड का पता लगाया। और इस कॉल को देख सकते हैं:

z <- .Fortran("dqrls", qr = x, n = n, p = p, y = y, ny = ny,
   tol = as.double(tol), coefficients = mat.or.vec(p, ny), residuals = y,
   effects = y, rank = integer(1L), pivot = 1L:p, qraux = double(p),
   work = double(2 * p), PACKAGE = "base")

यही वह जगह है जहां वास्तविक फिट होने लगता है Http://svn.r-project.org/R/trunk/src/appl/dqrls.f को देखकर) मुझे समझ में नहीं आया कि क्या हो रहा है, क्योंकि मुझे फॉरेन पता नहीं है


मेरा मानना ​​है कि यह केवल इसलिए है क्योंकि QR अपघटन को फ़्लोटिंग बिंदु अंकगणित के साथ लागू किया गया है।

singular.ok पैरामीटर वास्तव में डिजाइन मैट्रिक्स (यानी एक्स केवल) को संदर्भित करता है। प्रयत्न

lm.fit(cbind(X, X), Y)

बनाम

lm.fit(cbind(X, X), Y, singular.ok=F)

मैं सहमत हूं कि समस्या फ्लोटिंग पॉइंट की हो सकती है। लेकिन मुझे नहीं लगता कि एकता है

यदि आप क्यूआर के बजाय solve(t(x1)%*%x1)%*%(t(x1)%*%Y) उपयोग करते हैं, तो (t(x1)%*%x1) विलक्षण नहीं है

x1 = cbind(rep(1,1000,X) क्योंकि lm(Y~X) में अवरोधन शामिल है।