भविष्यवाणी और पूर्वानुमान
हां, आप सही हैं, जब आप इसे भविष्यवाणी की समस्या के रूप में देखते हैं, तो एक वाई-ऑन-एक्स प्रतिगमन आपको एक मॉडल देगा, जिसमें एक उपकरण माप दिया गया है, जिससे आप लैब की प्रक्रिया किए बिना सटीक प्रयोगशाला माप का निष्पक्ष अनुमान लगा सकते हैं ।
एक और तरीका रखो, अगर तुम सिर्फ तब आप Y-on-X रिग्रेशन चाहते हैं।इ[ य| एक्स]
यह प्रति-सहज लग सकता है क्योंकि त्रुटि संरचना "वास्तविक" नहीं है। मान लें कि लैब विधि एक स्वर्ण मानक त्रुटि मुक्त विधि है, तो हम "डेटा" जानते हैं कि सच्चा डेटा-जेनरेटर मॉडल है
एक्समैं= βYमैं+ ϵमैं
जहां और ε मैं कर रहे हैं स्वतंत्र हूबहू वितरण, और ई [ ε ] = 0Yमैंεमैंइ[ Ε ] = 0
हम का सबसे अच्छा अनुमान प्राप्त करने में रुचि कर रहे हैं । हमारी स्वतंत्रता की धारणा के कारण हम उपरोक्त व्यवस्था कर सकते हैं:इ[ यमैं| एक्समैं]
Yमैं= एक्समैं- ϵβ
अब, यह देखते हुए अपेक्षाओं को ले जा रही वह जगह है जहाँ बातें बालों मिलएक्समैं
इ[ यमैं| एक्समैं] = १βएक्समैं- 1βइ[ ϵमैं| एक्समैं]
समस्या यह है पद - क्या यह शून्य के बराबर है? यह वास्तव में मायने नहीं रखता है, क्योंकि आप इसे कभी नहीं देख सकते हैं, और हम केवल रेखीय शब्दों को मॉडलिंग कर रहे हैं (या तर्क जो भी आप मॉडलिंग कर रहे हैं, उसके लिए विस्तारित होते हैं)। Depend और X के बीच कोई निर्भरता बस उस स्थिरांक में अवशोषित की जा सकती है जिसका हम अनुमान लगा रहे हैं।इ[ ϵमैं| एक्समैं]εएक्स
स्पष्ट रूप से, सामान्यता के नुकसान के बिना हम कर सकते हैं
εमैं= γएक्समैं+ ηमैं
जहाँ परिभाषा के अनुसार, ताकि अब हमारे पास हैइ[ ηमैं| एक्स] = ०
Yमैं= 1βएक्समैं- γβएक्समैं- 1βηमैं
Yमैं= 1 - γβएक्समैं- 1βηमैं
जो ओएलएस की सभी आवश्यकताओं को पूरा करता है, क्योंकि अब बहिर्जात है। यह थोड़ी सी में कोई फर्क नहीं पड़ता कि त्रुटि अवधि भी एक होता है β न के बाद से β और न ही σ वैसे भी जाना जाता है और अनुमान लगाया जाना चाहिए। इसलिए हम उन स्थिरांक को नए के साथ बदल सकते हैं और सामान्य दृष्टिकोण का उपयोग कर सकते हैंηββσ
Yमैं= α एक्समैं+ ηमैं
β
साधन विश्लेषण
जिस व्यक्ति ने आपको यह प्रश्न निर्धारित किया है, वह स्पष्ट रूप से ऊपर का जवाब नहीं चाहता था क्योंकि वे कहते हैं कि X-on-Y सही तरीका है, इसलिए वे ऐसा क्यों चाहते हैं? सबसे अधिक संभावना है कि वे उपकरण को समझने के कार्य पर विचार कर रहे थे। जैसा कि विंसेंट के जवाब में चर्चा की गई है, यदि आप जानना चाहते हैं कि वे चाहते हैं कि उपकरण व्यवहार करे, तो एक्स-ऑन-वाई जाने का रास्ता है।
उपरोक्त पहले समीकरण पर वापस जा रहे हैं:
एक्समैं= βYमैं+ ϵमैं
इ[ एक्समैं| Yमैं] = यमैंएक्सβ
संकोचन
Yइ[ य| एक्स]γइ[ य| एक्स]Y। इसके बाद यह प्रतिगमन-दर-मध्यमान और अनुभवजन्य खाड़ी जैसी अवधारणाओं की ओर जाता है।
R में
एक उदाहरण उदाहरण के लिए जो कुछ चल रहा है उसे महसूस करने के लिए कुछ डेटा बनाना और विधियों को आज़माना है। नीचे दिए गए कोड की भविष्यवाणी और अंशांकन के लिए Y-on-X के साथ X-on-Y की तुलना की जाती है और आप जल्दी से देख सकते हैं कि X-on-Y भविष्यवाणी मॉडल के लिए अच्छा नहीं है, लेकिन अंशांकन के लिए सही प्रक्रिया है।
library(data.table)
library(ggplot2)
N = 100
beta = 0.7
c = 4.4
DT = data.table(Y = rt(N, 5), epsilon = rt(N,8))
DT[, X := 0.7*Y + c + epsilon]
YonX = DT[, lm(Y~X)] # Y = alpha_1 X + alpha_0 + eta
XonY = DT[, lm(X~Y)] # X = beta_1 Y + beta_0 + epsilon
YonX.c = YonX$coef[1] # c = alpha_0
YonX.m = YonX$coef[2] # m = alpha_1
# For X on Y will need to rearrage after the fit.
# Fitting model X = beta_1 Y + beta_0
# Y = X/beta_1 - beta_0/beta_1
XonY.c = -XonY$coef[1]/XonY$coef[2] # c = -beta_0/beta_1
XonY.m = 1.0/XonY$coef[2] # m = 1/ beta_1
ggplot(DT, aes(x = X, y =Y)) + geom_point() + geom_abline(intercept = YonX.c, slope = YonX.m, color = "red") + geom_abline(intercept = XonY.c, slope = XonY.m, color = "blue")
# Generate a fresh sample
DT2 = data.table(Y = rt(N, 5), epsilon = rt(N,8))
DT2[, X := 0.7*Y + c + epsilon]
DT2[, YonX.predict := YonX.c + YonX.m * X]
DT2[, XonY.predict := XonY.c + XonY.m * X]
cat("YonX sum of squares error for prediction: ", DT2[, sum((YonX.predict - Y)^2)])
cat("XonY sum of squares error for prediction: ", DT2[, sum((XonY.predict - Y)^2)])
# Generate lots of samples at the same Y
DT3 = data.table(Y = 4.0, epsilon = rt(N,8))
DT3[, X := 0.7*Y + c + epsilon]
DT3[, YonX.predict := YonX.c + YonX.m * X]
DT3[, XonY.predict := XonY.c + XonY.m * X]
cat("Expected value of X at a given Y (calibrated using YonX) should be close to 4: ", DT3[, mean(YonX.predict)])
cat("Expected value of X at a gievn Y (calibrated using XonY) should be close to 4: ", DT3[, mean(XonY.predict)])
ggplot(DT3) + geom_density(aes(x = YonX.predict), fill = "red", alpha = 0.5) + geom_density(aes(x = XonY.predict), fill = "blue", alpha = 0.5) + geom_vline(x = 4.0, size = 2) + ggtitle("Calibration at 4.0")
दो प्रतिगमन लाइनों को डेटा पर प्लॉट किया जाता है
और फिर वाई के लिए वर्गों की त्रुटि का योग एक नए नमूने पर दोनों फिट के लिए मापा जाता है।
> cat("YonX sum of squares error for prediction: ", DT2[, sum((YonX.predict - Y)^2)])
YonX sum of squares error for prediction: 77.33448
> cat("XonY sum of squares error for prediction: ", DT2[, sum((XonY.predict - Y)^2)])
XonY sum of squares error for prediction: 183.0144
वैकल्पिक रूप से एक नमूना निश्चित Y (इस मामले में 4) में उत्पन्न किया जा सकता है और फिर उन अनुमानों का औसत लिया जा सकता है। अब आप देख सकते हैं कि वाई-ऑन-एक्स प्रेडिक्टर अच्छी तरह से कैलिब्रेटेड नहीं है, जो वाई की तुलना में काफी कम है। एक्स-ऑन-वाई प्रेडिक्टर, वाई के करीब एक अपेक्षित मूल्य होने पर अच्छी तरह से कैलिब्रेटेड है।
> cat("Expected value of X at a given Y (calibrated using YonX) should be close to 4: ", DT3[, mean(YonX.predict)])
Expected value of X at a given Y (calibrated using YonX) should be close to 4: 1.305579
> cat("Expected value of X at a gievn Y (calibrated using XonY) should be close to 4: ", DT3[, mean(XonY.predict)])
Expected value of X at a gievn Y (calibrated using XonY) should be close to 4: 3.465205
दो भविष्यवाणी का वितरण एक घनत्व प्लॉट में देखा जा सकता है।
[self-study]
टैग जोड़ें ।