Theory
શું એક વસ્તુ પરથી બીજીની આગાહી થાય?
Placement ના data વિશે એક સહજ પ્રશ્ન થાય: વધુ attendance સાથે વધુ marks આવે છે ખરા? અને marks ની આગાહી કરવા માટે attendance વાપરી શકાય? આ પ્રશ્નો ચલ વચ્ચેના સંબંધ વિશે છે, અને એમના જવાબ આપવાનું કામ regression અને એને ટેકો આપતાં માપોનું છે.
આ પાઠ regression (એક ચલ બીજાં ચલ પર કઈ રીતે આધાર રાખે છે એ દર્શાવવું), dependent તથા independent ચલની પરિભાષા, અને ચલ સાથે કઈ રીતે ફરે છે એ માપવાનાં બે સાધનો સમજાવે છે: covariance (દિશા) અને correlation (નિશ્ચિત માપ પર બળ).
Theory
Regression, dependent અને independent
Regression ચલ વચ્ચેના સંબંધને એ રીતે દર્શાવે છે કે સંખ્યાત્મક પરિણામની આગાહી થઈ શકે. સૌથી સાદા કિસ્સામાં તમે એવી રેખા બેસાડો છો જે એક ચલ બીજા સાથે કઈ રીતે બદલાય છે એ સૌથી સારી રીતે વર્ણવે.
જે ચલની તમારે આગાહી કરવી છે એ dependent ચલ છે (ઘણી વાર એને Y, response કે target કહે છે), કારણ કે એ બીજાં ચલ પર આધાર રાખે છે. જે ચલ તમે input તરીકે વાપરો છો એ independent ચલ છે (X, predictors કે features). દાખલા તરીકે, વિદ્યાર્થીના attendance (independent) પરથી એના marks (dependent) ની આગાહી કરવી હોય, તો marks એ Y છે અને attendance એ X છે. કયું કયું છે એ નક્કી કરવું એ કોઈ પણ regression નું પહેલું પગથિયું છે.
Theory
Covariance અને correlation
બે ચલ સાથે ફરે છે કે નહીં એ માપવા માટે તમારી પાસે બે સાધન છે.
Covariance તમને દિશા કહે છે: ધન covariance એટલે એ બંને સાથે વધવાનું વલણ ધરાવે છે (વધુ attendance, વધુ marks); ઋણ covariance એટલે એક વધે તેમ બીજું ઘટે. પણ એનું કદ ચલના એકમો પર આધાર રાખે છે, એટલે કાચી સંખ્યાનો અર્થ કાઢવો અઘરો પડે છે.
Correlation એને ઓછા 1 થી વત્તા 1 ના નિશ્ચિત માપ પર લાવીને એ મુશ્કેલી દૂર કરે છે: +1 એટલે સંપૂર્ણ ધન સંબંધ, -1 એટલે સંપૂર્ણ ઋણ સંબંધ, અને 0 એટલે કોઈ રેખીય સંબંધ નહીં. એનું પરિમાણ એકમો ગમે તે હોય તો પણ બળ બતાવે છે, એટલે 0.99 નું correlation બહુ મજબૂત ગણાય, જ્યારે 0.1 નબળું ગણાય. Correlation એટલે સરખામણી કરી શકાય એવું બનાવેલું covariance.
Practical
pandas માં correlation (ચકાસાયેલું)
import pandas as pd
df = pd.DataFrame({
"marks": [80, 55, 90, 70, 60],
"projects": [3, 1, 4, 2, 1],
})
print(df["marks"].corr(df["projects"])) # 0.991 -> strong positive
print(df["marks"].cov(df["projects"])) # positive number -> same direction
# Correlation is on a fixed scale: -1 ... 0 ... +1
# 0.991 is very close to +1, so marks and projects rise strongly together (here).This example runs in Gri-Learn on the web, where you can edit it and see the output.
Quiz
બે ચલ વચ્ચેનું correlation +0.99 છે. એ તમને શું જણાવે છે?
- એ બંને લગભગ અસંબંધિત છે, કારણ કે 0.99 નાનું છે
- એમની વચ્ચે બહુ મજબૂત ધન રેખીય સંબંધ છે: એક વધે તેમ બીજું પણ વધે છે
- એકના કારણે જ બીજું થાય છે, એ નક્કી
- આ correlation અમાન્ય છે, કારણ કે correlation 1 થી વધારે હોવું જોઈએ
Show the answer
એમની વચ્ચે બહુ મજબૂત ધન રેખીય સંબંધ છે: એક વધે તેમ બીજું પણ વધે છે
Correlation -1 થી +1 સુધી ચાલે છે, એટલે +0.99 એની ઉપલી હદની બહુ નજીક છે, જે બહુ મજબૂત ધન રેખીય સંબંધ બતાવે છે: એક ચલ વધે તેમ બીજું પણ વધે છે. વિકલ્પ A ઊંધો છે: 0.99 એ +1 ની નજીક છે, જે બહુ મજબૂત ગણાય, નાનું નહીં (નબળું હોય તો 0 ની આસપાસ હોય). વિકલ્પ C જાણીતી જાળ છે, કારણ કે correlation કારણભાવ સાબિત કરતું નથી; મજબૂત correlation બતાવે છે કે ચલ સાથે ફરે છે, પણ એકના કારણે બીજું થાય છે એ સાબિત કરતું નથી (કોઈ છુપાયેલું ત્રીજું પરિબળ બંનેને ચલાવતું હોઈ શકે). વિકલ્પ D ખોટો છે: correlation -1 થી +1 ની અંદર જ રહે છે, એટલે 0.99 માન્ય છે અને 1 થી ઉપરની કિંમતો શક્ય જ નથી. Correlation ને એની નિશાની (દિશા) અને પરિમાણ (બળ) પ્રમાણે વાંચો, અને correlation પરથી કારણ સુધીનો કૂદકો કદી ન મારો.
Think first
Correlation કારણભાવ કેમ સાબિત કરતું નથી?
જો બે ચલ વચ્ચે મજબૂત correlation હોય, તો પણ એકના કારણે બીજું થાય છે એવો નિષ્કર્ષ કેમ ન કઢાય? વિચારીને પછી tap કરો.
Show the answer
કારણ કે correlation ફક્ત એટલું જ બતાવે છે કે બે ચલ સાથે ફરે છે, શા માટે ફરે છે એ નહીં, અને એકના કારણે બીજું થતું હોય એ સિવાય પણ એનાં અનેક નિર્દોષ કારણો હોઈ શકે છે.
સૌથી સામાન્ય કારણ કોઈ છુપાયેલું ત્રીજું ચલ (confounder) છે, જે બંનેને ચલાવે છે. ધારો કે વર્ષ દરમિયાન ice-cream નું વેચાણ અને તરવાના hauz માં ડૂબવાના બનાવો વચ્ચે મજબૂત correlation છે; ice cream ડૂબવાનું કારણ નથી, પણ ત્રીજું પરિબળ, એટલે કે ગરમ હવામાન, બંનેને અલગ અલગ રીતે વધારે છે. Placement ના data માં વધુ projects વાળા વિદ્યાર્થીઓના marks પણ વધુ હોઈ શકે, પણ કદાચ કોઈ ત્રીજું લક્ષણ (લગન કે આવડત) બંનેને ઊંચકતું હોય, projects સીધા marks નું કારણ ન પણ હોય.
દિશાનો પ્રશ્ન પણ છે: બે વસ્તુઓ કારણથી જોડાયેલી હોય તો પણ એકલું correlation કઈ દિશા છે એ કહી શકતું નથી (અભ્યાસ કરવાથી marks વધે છે, કે વધુ marks વાળા વિદ્યાર્થીઓ વધુ અભ્યાસ કરવાનું પસંદ કરે છે?), અને ક્યારેક તો correlation નર્યો યોગાનુયોગ હોય છે, ખાસ કરીને નાના નમૂનાઓમાં.
કારણભાવ ખરેખર સ્થાપવા માટે correlation થી વધુ જોઈએ: નિયંત્રિત પ્રયોગો, અથવા એવી કાળજીભરી પદ્ધતિઓ જે confounders અને ઊંધા કારણભાવને નકારી શકે. એટલે જ 'correlation does not imply causation' એ આખા data analysis ની સૌથી મહત્ત્વની ચેતવણીઓમાંની એક છે: મજબૂત correlation એ તપાસ કરવા જેવો સંકેત છે, કારણનો પુરાવો નહીં. સાથે ફરવું અને એકના કારણે બીજું થવું, એ બે એક વાત નથી.
Summary
Key takeaways
- Regression સંખ્યાત્મક પરિણામની આગાહી કરવા માટે ચલ વચ્ચેનો સંબંધ દર્શાવે છે (ઘણી વાર રેખા બેસાડીને).
- Dependent ચલ (Y) એ છે જેની આગાહી કરવી છે; independent ચલ (X) એ inputs છે જેનાથી આગાહી થાય છે.
- દાખલો: attendance (independent) પરથી marks (dependent) ની આગાહી કરવી.
- Covariance બે ચલ કઈ દિશામાં ફરે છે એ બતાવે છે: ધન (સાથે વધે) કે ઋણ (એક વધે તેમ બીજું ઘટે); એનું કદ એકમો પર આધાર રાખે છે.
- Correlation એને -1 થી +1 ના નિશ્ચિત માપ પર લાવે છે: નિશાની એટલે દિશા, પરિમાણ એટલે બળ (0 એટલે કશો સંબંધ નહીં).
- Correlation કારણભાવ સાબિત કરતું નથી: ચલ છુપાયેલા ત્રીજા પરિબળને લીધે, ઊંધી દિશાને લીધે કે યોગાનુયોગે પણ સાથે ફરી શકે છે.
- યાદ રાખવાની કડી: independent X પરથી dependent Y; દિશા માટે covariance, બળ માટે correlation (-1 થી +1).