क्या कोई आश्रित चर है?
एक्सेल में ट्रेंड लाइन स्वतंत्र चर "लोन " पर निर्भर चर "लैट" के प्रतिगमन से है । जब आप "सामान्य ज्ञान की रेखा" कहते हैं, तो आप तब प्राप्त कर सकते हैं जब आप आश्रित चर को नामित नहीं करते हैं , और अक्षांश और देशांतर दोनों को समान रूप से मानते हैं। पीसीए लगाकर उत्तरार्द्ध प्राप्त किया जा सकता है । विशेष रूप से, यह इन चर के सहसंयोजक मैट्रिक्स के ईजन वैक्टर में से एक है। आप इसे किसी भी दिए गए कम से कम दूरी को कम करने वाली रेखा के रूप में सोच सकते हैं (, अर्थात आप एक रेखा के लिए लंबवत आकर्षित करते हैं, और प्रत्येक अवलोकन के लिए उन लोगों का योग कम करते हैं।( x)मैं, वाईमैं)
यहाँ आप इसे R में कैसे कर सकते हैं:
> para <- read.csv("para.csv")
> plot(para)
>
> # run PCA
> pZ=prcomp(para,rank.=1)
> # look at 1st PC
> pZ$rotation
PC1
lon 0.09504313
lat 0.99547316
>
> colMeans(para) # PCA was centered
lon lat
-0.7129371 53.9368720
> # recover the data from 1st PC
> pc1=t(pZ$rotation %*% t(pZ$x) )
> # center and show
> lines(pc1 + t(t(rep(1,123))) %*% c)
एक्सेल से आपको मिलने वाली ट्रेंड लाइन पीसीए से ईजन वेक्टर के रूप में एक सामान्य ज्ञान है जब आप समझते हैं कि एक्सेल रिग्रेशन में चर समान नहीं हैं। यहाँ आप एक कम से कम कर रहे हैं ऊर्ध्वाधर से दूरी करने के लिए y ( एक्स मैं ) है, जहां y- अक्ष अक्षांश है और x- अक्ष देशांतर है।yमैंy( x)मैं)
आप चर का समान रूप से इलाज करना चाहते हैं या नहीं, यह उद्देश्य पर निर्भर करता है। यह डेटा की अंतर्निहित गुणवत्ता नहीं है। आपको डेटा का विश्लेषण करने के लिए सही सांख्यिकीय उपकरण चुनना होगा, इस मामले में प्रतिगमन और पीसीए के बीच चयन करना होगा।
एक सवाल का जवाब जो नहीं पूछा गया था
तो, क्यों आपके मामले में एक्सेल में (प्रतिगमन) ट्रेंड लाइन आपके मामले के लिए एक उपयुक्त उपकरण नहीं लगती है? कारण यह है कि ट्रेंड लाइन एक सवाल का जवाब है जो नहीं पूछा गया था। यहाँ पर क्यों।
l a t = a + b × l o n
कल्पना कीजिए कि कोई हवा नहीं थी। एक पैराग्लाइडर एक ही सर्कल को बार-बार बना रहा होगा। ट्रेंड लाइन क्या होगी? जाहिर है, यह फ्लैट क्षैतिज रेखा होगी, इसकी ढलान शून्य होगी, फिर भी इसका मतलब यह नहीं है कि हवा क्षैतिज दिशा में बह रही है!
y∼ x
सिमुलेशन के लिए आर कोड:
t=1:123
a=1 #1
b=0 #1/10
y=10*sin(t)+a*t
x=10*cos(t)+b*t
plot(x,y,xlim=c(-60,60))
xp=-60:60
lines(b*t,a*t,col='red')
model=lm(y~x)
lines(xp,xp*model$coefficients[2]+model$coefficients[1])
तो, हवा की दिशा स्पष्ट रूप से ट्रेंड लाइन के साथ बिल्कुल भी संरेखित नहीं है। वे जुड़े हुए हैं, ज़ाहिर है, लेकिन एक नॉनवेज तरीके से। इसलिए, मेरा कथन है कि एक्सेल ट्रेंड लाइन कुछ प्रश्न का उत्तर है, लेकिन वह नहीं जो आपने पूछा था।
PCA क्यों?
जैसा कि आपने उल्लेख किया कि पैराग्लाइडर की गति के कम से कम दो घटक हैं: पैराग्लाइडर द्वारा नियंत्रित हवा और परिपत्र गति के साथ बहाव। जब आप अपने प्लॉट पर डॉट्स कनेक्ट करते हैं तो यह स्पष्ट रूप से देखा जाता है:
एक तरफ, परिपत्र गति वास्तव में आपके लिए एक उपद्रव है: आप हवा में रुचि रखते हैं। हालांकि दूसरी ओर, आप हवा की गति का निरीक्षण नहीं करते हैं, आप केवल पैराग्लाइडर का निरीक्षण करते हैं। तो, आपका उद्देश्य अवलोकन करने योग्य पैराग्लाइडर के स्थान पढ़ने से अप्राप्य हवा का अनुमान लगाना है। यह वास्तव में ऐसी स्थिति है जहां कारक विश्लेषण और पीसीए जैसे उपकरण उपयोगी हो सकते हैं।
पीसीए का उद्देश्य कुछ कारकों को अलग करना है जो आउटपुट में सहसंबंधों का विश्लेषण करके कई आउटपुट का निर्धारण करते हैं। यह तब प्रभावी होता है जब आउटपुट कारकों से रैखिक रूप से जुड़ा होता है, जो आपके डेटा में होता है: हवा का बहाव केवल परिपत्र गति के निर्देशांक में जोड़ता है, इसीलिए पीसीए यहां काम कर रहा है।
पीसीए सेटअप
इसलिए, हमने यह स्थापित किया कि पीसीए के पास यहां एक मौका होना चाहिए, लेकिन हम वास्तव में इसे कैसे स्थापित करेंगे? आइए तीसरे चर, समय को जोड़ने के साथ शुरू करें। हम निरंतर नमूना आवृत्ति को मानते हुए, प्रत्येक 123 अवलोकन के लिए 1 से 123 तक समय देने जा रहे हैं। यहां बताया गया है कि 3D प्लॉट डेटा की तरह कैसा दिखता है, इसकी सर्पिल संरचना का पता चलता है:
अगला कथानक पैराग्लाइडर के घूर्णन के काल्पनिक केंद्र को भूरे घेरे के रूप में दिखाता है। आप देख सकते हैं कि यह हवा के साथ लैट-लॉन विमान पर कैसे बहती है, जबकि एक नीली बिंदी के साथ दिखाया गया पैराग्लाइडर इसके चारों ओर चक्कर लगा रहा है। समय ऊर्ध्वाधर अक्ष पर है। मैंने रोटेशन के केंद्र को केवल पहले दो सर्कल दिखाते हुए एक पैराग्लाइडर के संबंधित स्थान से जोड़ा।
इसी R कोड:
library(plotly)
para <- read.csv("C:/Users/akuketay/Downloads/para.csv")
n=24
para$t=1:123 # add time parameter
# run PCA
pZ3=prcomp(para)
c3=colMeans(para) # PCA was centered
# look at PCs in columns
pZ3$rotation
# get the imaginary center of rotation
pc31=t(pZ3$rotation[,1] %*% t(pZ3$x[,1]) )
eye = pc31 + t(t(rep(1,123))) %*% c3
eyedata = data.frame(eye)
p = plot_ly(x=para[1:n,1],y=para[1:n,2],z=para[1:n,3],mode="lines+markers",type="scatter3d") %>%
layout(showlegend=FALSE,scene=list(xaxis = list(title = 'lat'),yaxis = list(title = 'lon'),zaxis = list(title = 't'))) %>%
add_trace(x=eyedata[1:n,1],y=eyedata[1:n,2],z=eyedata[1:n,3],mode="markers",type="scatter3d")
for( i in 1:n){
p = add_trace(p,x=c(eyedata[i,1],para[i,1]),y=c(eyedata[i,2],para[i,2]),z=c(eyedata[i,3],para[i,3]),color="black",mode="lines",type="scatter3d")
}
subplot(p)
पैराग्लाइडर के रोटेशन के केंद्र का बहाव मुख्य रूप से हवा के कारण होता है, और बहाव के मार्ग और गति को दिशा और हवा की गति के साथ सहसंबद्ध किया जाता है, ब्याज की अप्रतिरोध्य चर। यह इस तरह है कि जब बहाव लैन प्लेन के सामने आता है तो बहाव कैसा दिखता है:
पीसीए प्रतिगमन
इसलिए, पहले हमने स्थापित किया था कि नियमित रैखिक प्रतिगमन यहां बहुत अच्छी तरह से काम नहीं करता है। हमने यह भी सोचा कि क्यों: क्योंकि यह अंतर्निहित प्रक्रिया को प्रतिबिंबित नहीं करता है, क्योंकि पैराग्लाइडर की गति अत्यधिक नॉनलाइन है। यह परिपत्र गति और एक रैखिक बहाव का एक संयोजन है। हमने यह भी चर्चा की कि इस स्थिति में कारक विश्लेषण सहायक हो सकता है। यहां इस डेटा को मॉडलिंग करने के लिए एक संभावित दृष्टिकोण की रूपरेखा है: पीसीए प्रतिगमन । लेकिन मुट्ठी मैं तुम्हें पीसीए प्रतिगमन फिटेड वक्र दिखाऊंगा :
यह निम्नानुसार प्राप्त किया गया है। पहले सेट किए गए आंकड़ों के अनुसार पीसीए चलाएं जिसमें अतिरिक्त कॉलम t = 1: 123 है। आपको तीन प्रमुख घटक मिलते हैं। पहला वाला बस टी है। दूसरा लोन कॉलम से मेल खाता है, और तीसरा लाट कॉलम से।
एक पाप( Ω टी + φ )ω , φ
बस। फिट किए गए मूल्यों को प्राप्त करने के लिए आप पीसीए रोटेशन मैट्रिक्स के पूर्वानुमान को प्लग करके डेटा को ठीक किए गए पूर्वानुमानित प्रमुख घटकों में बदल देते हैं। ऊपर मेरा आर कोड प्रक्रिया के कुछ हिस्सों को दिखाता है, और बाकी आप आसानी से समझ सकते हैं।
निष्कर्ष
यह देखना दिलचस्प है कि भौतिक घटनाओं के लिए पीसीए और अन्य सरल उपकरण कितने शक्तिशाली हैं, जहां अंतर्निहित प्रक्रियाएं स्थिर हैं, और इनपुट रैखिक (या रैखिक) संबंधों के माध्यम से आउटपुट में अनुवाद करते हैं। इसलिए हमारे मामले में सर्कुलर मोशन बहुत ही नॉनलाइन है, लेकिन हमने टाइम टी पैरामीटर पर साइन / कोसाइन फंक्शन्स का उपयोग करके इसे आसानी से रैखिक बना दिया है। मेरे प्लॉट आर कोड की कुछ ही लाइनों के साथ उत्पन्न हुए थे जैसा कि आपने देखा।
प्रतिगमन मॉडल को अंतर्निहित प्रक्रिया को प्रतिबिंबित करना चाहिए, तभी आप उम्मीद कर सकते हैं कि इसके पैरामीटर सार्थक हैं। यदि यह हवा में बहता हुआ पैराग्लाइडर है, तो मूल प्रश्न की तरह एक सरल तितर बितर साजिश प्रक्रिया की समय संरचना को छिपाएगा।
साथ ही एक्सेल रिग्रेशन एक क्रॉस सेक्शनल एनालिसिस था, जिसके लिए लीनियर रिग्रेशन सबसे अच्छा काम करता है, जबकि आपका डेटा एक टाइम सीरीज़ प्रोसेस है, जहाँ ऑब्ज़र्वेशन समय में आर्डर किया जाता है। समय श्रृंखला विश्लेषण यहां लागू किया जाना चाहिए, और यह पीसीए प्रतिगमन में किया गया था।
एक समारोह में नोट्स
y= च( x )एक्सyएक्सyyएक्सl a t = f( l o n )