Låt oss säga att det finns något ”sant” förhållande mellan $ y $ och $ x $ sådana att $ y = ax + b + \ epsilon $, där $ a $ och $ b $ är konstanter och $ \ epsilon $ är normalt brus. När jag slumpmässigt genererar data från den R-koden: x <- 1:100; y <- ax + b + rnorm(length(x))
och sedan passar en modell som y ~ x
får jag uppenbarligen ganska bra uppskattningar för $ a $ och $ b $.
Om jag byter roll av variablerna som i (x ~ y)
, och omskriv sedan resultatet för $ y $ för att vara en funktion av $ x $, den resulterande lutningen är alltid brantare (antingen mer negativ eller mer positivt) än det som uppskattas av y ~ x
regression. Jag försöker förstå exakt varför det är och skulle uppskatta det om någon kunde ge mig en intuition om vad som händer där .
Kommentarer
- Att ’ inte är sant i allmänhet. Du kanske ’ bara ser det i dina data. Klistra in den här koden: y = rnorm (10); x = rnorm (10); lm (y ~ x); lm (x ~ y); in i R flera gånger så kommer du ’ att det går åt båda hållen.
- Den ’ är lite annorlunda än vad Jag beskrev. I ditt exempel var y inte alls ’, så det finns ’ egentligen ingen ” lutning ” (’ a ’ i mitt exempel).
- lm (y ~ x) passar modellen $ y = \ beta_ {0} + \ beta_ {1} x + \ varepsilon $ med minsta kvadrat (motsvarar ML-uppskattning när felen är normala). Det finns en lutning.
- Din fråga ställs och besvaras (typ) på stats.stackexchange.com/questions/13126 och stats.stackexchange.com/questions/18434 . Jag tror emellertid att ingen ännu har bidragit med en enkel, tydlig förklaring av förhållandet mellan (a) regression av $ Y $ mot $ X $, (b) regression av $ X $ mot $ Y $, (c) analys av korrelationen av $ X $ och $ Y $, (d) fel-i-variabler regression av $ X $ och $ Y $, och (e) passar en bivariat normal distribution till $ (X, Y) $. Detta skulle vara ett bra ställe för en sådan redogörelse :-).
- Naturligtvis är makro korrekt: eftersom x och y spelar motsvarande roller i frågan, vilken lutning som är mer extrem är en chansfråga. Emellertid föreslår geometri (felaktigt) att när vi vänder x och y i regressionen, ska vi få recipocal för den ursprungliga lutningen. Det händer aldrig förutom när x och y är linjärt beroende. Den här frågan kan tolkas så att den frågar varför.
Svar
Givet $ n $ datapunkter $ (x_i, y_i), i = 1,2, \ ldots n $, i planet, låt oss rita en rak linje $ y = ax + b $. Om vi förutsäger $ ax_i + b $ som värdet $ \ hat {y} _i $ på $ y_i $, är felet $ (y_i- \ hat {y} _i) = (y_i- ax_i-b) $, kvadratfelet är $ (y_i-ax_i-b) ^ 2 $ och total kvadratfel $ \ sum_ {i = 1} ^ n (y_i-ax_i-b) ^ 2 $. Vi frågar
Vilket val mellan $ a $ och $ b $ minimerar $ S = \ displaystyle \ sum_ {i = 1} ^ n (y_i-ax_i -b) ^ 2 $?
Eftersom $ (y_i-ax_i-b) $ är det vertikala avståndet $ (x_i, y_i) $ från rät linje, vi ber om linjen så att summan av kvadraterna för de vertikala avstånden för punkterna från linjen är så liten som möjligt. Nu är $ S $ en kvadratisk funktion av både $ a $ och $ b $ och uppnår sitt lägsta värde när $ a $ och $ b $ är sådana att $$ \ börjar {align *} \ frac {\ partial S} {\ delvis a} & = 2 \ sum_ {i = 1} ^ n (y_i-ax_i-b) (- x_i) & = 0 \\ \ frac {\ partial S} {\ partial b} & = 2 \ sum_ {i = 1} ^ n (y_i-ax_i-b) (- 1) & = 0 \ end {align *} $$ Från den andra ekvationen får vi $$ b = \ frac {1} {n} \ sum_ {i = 1} ^ n ( y_i – ax_i) = \ mu_y – en \ mu_x $$ där $ \ displaystyle \ mu_y = \ frac {1} {n} \ sum_ {i = 1} ^ n y_i, ~ \ mu_x = \ frac {1} {n } \ sum_ {i = 1} ^ n x_i $ är de aritmetiska medelvärdena för $ y_i $ ”s respektive $ x_i $” s. Genom att ersätta den första ekvationen får vi $$ a = \ frac {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_iy_i \ right) – \ mu_x \ mu_y} {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_i ^ 2 \ höger) – \ mu_x ^ 2}. $$ Således kan linjen som minimerar $ S $ uttryckas som $$ y = ax + b = \ mu_y + \ left (\ frac {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_iy_i \ höger) – \ mu_x \ mu_y} {\ vänster (\ frac {1} {n} \ sum_ {i = 1} ^ n x_i ^ 2 \ höger) – \ mu_x ^ 2} \ höger) (x – \ mu_x), $$ och minimivärdet på $ S $ är $$ S _ {\ min} = \ frac {\ left [\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n y_i ^ 2 \ höger) – \ mu_y ^ 2 \ höger] \ vänster [\ vänster (\ frac {1} {n} \ sum_ {i = 1} ^ n x_i ^ 2 \ höger) – \ mu_x ^ 2 \ höger ] – \ left [\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_iy_i \ right) – \ mu_x \ mu_y \ right] ^ 2} {\ left (\ frac {1} { n} \ sum_ {i = 1} ^ n x_i ^ 2 \ höger) – \ mu_x ^ 2}.$$
Om vi byter rollerna $ x $ och $ y $, ritar du en linje $ x = \ hat {a} y + \ hat {b} $ och ber om värdena $ \ hat {a} $ och $ \ hat {b} $ som minimerar $$ T = \ sum_ {i = 1} ^ n (x_i – \ hat {a} y_i – \ hat {b}) ^ 2, $$ det vill säga vi vill ha linjen så att summan av kvadraterna för horisontella avstånden från punkterna från linjen är så liten som möjligt, då får vi
$$ x = \ hat {a} y + \ hat {b} = \ mu_x + \ left (\ frac {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_iy_i \ right) – \ mu_x \ mu_y} {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n y_i ^ 2 \ right) – \ mu_y ^ 2} \ right) (y – \ mu_y) $$ och minimivärdet av $ T $ är $$ T _ {\ min} = \ frac {\ vänster [\ vänster (\ frac {1} {n} \ sum_ {i = 1} ^ n y_i ^ 2 \ höger) – \ mu_y ^ 2 \ höger] \ vänster [\ vänster (\ frac {1} {n} \ sum_ {i = 1} ^ n x_i ^ 2 \ höger) – \ mu_x ^ 2 \ höger] – \ vänster [\ vänster (\ frac { 1} {n} \ sum_ {i = 1} ^ n x_iy_i \ höger) – \ mu_x \ mu_y \ höger] ^ 2} {\ vänster (\ frac {1} {n} \ sum_ {i = 1} ^ n y_i ^ 2 \ höger) – \ mu_y ^ 2}. $$
Observera att båda raderna passerar punkten $ (\ mu_x, \ mu_y) $ men lutningarna är $$ a = \ frac { \ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_iy_ i \ höger) – \ mu_x \ mu_y} {\ vänster (\ frac {1} {n} \ sum_ {i = 1} ^ n x_i ^ 2 \ höger) – \ mu_x ^ 2}, ~~ \ hat {a } ^ {- 1} = \ frac {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n y_i ^ 2 \ right) – \ mu_y ^ 2} {\ left (\ frac {1 } {n} \ sum_ {i = 1} ^ n x_iy_i \ höger) – \ mu_x \ mu_y} $$ skiljer sig i allmänhet. Som @whuber påpekar i en kommentar, är backarna desamma när alla poäng $ (x_i, y_i) $ ligger på samma raka linje. För att se detta, observera att $$ \ hat {a} ^ {- 1} – a = \ frac {S _ {\ min}} {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_iy_i \ höger) – \ mu_x \ mu_y} = 0 \ Rightarrow S _ {\ min} = 0 \ Rightarrow y_i = ax_i + b, i = 1,2, \ ldots, n. $$
Kommentarer
- Tack! abs (korrelation) < 1 redogör för varför lutningen systematiskt var brantare i det omvända fallet.
- (+1) men jag lade till ett svar med bara en illustration av vad du just sa, eftersom jag har ett geometriskt sinne 🙂
- Klasssvar (+1)
Svar
Bara för att illustrera Dilips svar: på följande bilder,
- de svarta prickarna är datapunkter;
- till vänster är den svarta linjen regressionslinjen som erhålls av
y ~ x
, vilket minimerar rutorna för de röda segmentens längd. - till höger är den svarta linjen regressionslinjen erhållen av
x ~ y
, vilket minimerar rutorna för de röda segmentens längd.
Redigera (minst rektangulär regression)
Om det inte finns något naturligt sätt att välja ett ”svar” och ett ”kovariat”, utan de två variablerna är beroende av varandra, kanske du vill spara en symmetrisk roll för $ y $ och $ x $ ; i det här fallet kan du använda ”minst rektanglar regression.”
- skriv $ Y = aX + b + \ epsilon $, som vanligt;
- beteckna $ \ hat y_i = a x_i + b $ och $ \ hat x_i = {1 \ över a} (y_i – b) $ uppskattningarna av $ Y_i $ villkorligt till $ X = x_i $ och av $ X_i $ villkorligt till $ Y = y_i $;
- minimera $ \ sum_i | x_i – \ hat x_i | \ cdot | y_i – \ hat y_i | $, vilket leder till $$ \ hat y = \ mathrm {sign} \ left (\ mathrm {cov} (x, y) \ right) {\ hat \ sigma_y \ over \ hat \ sigma_x} (x- \ överlinje x) + \ överlinje y. $$
Här är en illustration med samma datapunkter, för varje punkt beräknas en ”rektangel” som produkten av längden på två röda segment och summan av rektanglar är minimerad. Jag vet inte mycket om egenskaperna för denna regression och jag hittar inte mycket med google.
Kommentarer
- Några anteckningar: ( 1 ) Om det inte är fel, verkar det som om ” minsta rektanglar regression ” är ekvivalent med lösningen erhållen från att ta den första huvudkomponenten i matrisen $ \ mathbf X = (\ mathbf y, \ mathbf x) $ efter centrering och omskalning ha enhetsvarians och sedan ersätta tillbaka. (forts.)
- (forts.) ( 2 ) Sett på detta sätt är det lätt att se att denna ” minst rektanglar regression ” motsvarar en form av ortogonala (eller totala) minsta kvadrater och därmed ( 3 ) Ett speciellt fall av Deming regression på de centrerade, omskalade vektorerna som tar $ \ delta = 1 $. Rätvinkliga minsta kvadrater kan betraktas som ” regression av minsta cirklar ”.
- @cardinal Mycket intressanta kommentarer! (+1) Jag tror att huvudaxeln (minimerar vinkelräta avstånd mellan reg.linje och alla punkter, à la PCA) eller minskad huvudaxelregression , eller typ II-regression som exemplifierat i lmodel2 R-paketet från P Legendre, är också relevanta här eftersom dessa tekniker används när det ’ är svårt att berätta vilken roll (svar eller prediktor) spelar varje variabel eller när vi vill redogöra för mätfel.
- @chl: (+1) Ja, jag tror att du har rätt och Wikipedia-sidan på totalt minsta kvadrater listar flera andra namn för samma procedur, inte alla som jag känner till. Det verkar gå tillbaka till åtminstone R. Frisch, Statistisk sammanflödesanalys med hjälp av kompletta regressionssystem , Universitetets Ø konomiske Instituut, 1934 där det hette diagonal regression .
- @ kardinal Jag borde ha varit mer försiktig när jag läste Wikipedia-posten … För framtida referens, här är en bild tagen från Biostatistisk design och analys med R , av M. Logan (Wiley, 2010; Fig. 8.4, s. 174), som sammanfattar de olika tillvägagångssätten, ungefär som Elvis ’ s fina illustrationer.
Svar
Bara en kort anteckning om varför du ser lutningen mindre för en regression. Båda backarna beror på tre siffror: standardavvikelser på $ x $ och $ y $ ($ s_ {x} $ och $ s_ {y} $) och korrelation mellan $ x $ och $ y $ ($ r $). Regressionen med $ y $ som svar har lutningen $ r \ frac {s_ {y}} {s_ {x}} $ och regressionen med $ x $ som svar har lutningen $ r \ frac {s_ {x}} {s_ {y}} $, därför är förhållandet mellan den första lutningen och den ömsesidiga av den andra lika med $ r ^ 2 \ leq 1 $.
Så ju större andel förklarad varians, desto närmare lutningar som erhållits från varje fall. Observera att den förklarade variansandelen är symmetrisk och lika med den kvadratiska korrelationen i enkel linjär regression.
Svar
Regressionslinjen är inte (alltid) samma som sant förhållande
Du kan ha någon ”sann” kausal relation som
$$ y = a + bx + \ epsilon $$
men anpassade regressionslinjer y ~ x
eller x ~ y
betyder inte samma sak som det kausala förhållandet (även när uttrycket för en av regressionslinjen i praktiken kan sammanfalla med uttrycket för det kausala ”sanna” förhållandet)
Mer exakt förhållande mellan lutningar
För två växlade enkla linjära regressioner:
$$ Y = a_1 + b_1 X \\ X = a_2 + b_2 Y $$
du kan relatera backarna enligt följande:
$$ b_1 = \ rho ^ 2 \ frac {1} {b_2} \ leq \ frac {1} {b_2} $$
Så sluttningarna är inte varandra inverterat.
Intuition
Anledningen är att
- Regressionslinjer och korrelationer gör inte motsvarar nödvändigtvis en-mot-en till ett orsakssamband.
- Regressionslinjer relaterar mer direkt till en villkorlig sannolikhet eller bästa förutsägelse.
Du kan föreställa dig att den villkorliga sannolikheten är relaterad till relationen. Regressionslinjer speglar detta och linjernas lutningar kan vara båda grunda när relationens styrka är liten eller båda branta när relationen är stark. Lutningarna är inte bara varandras inversa.
Exempel
Om två variabler $ X $ och $ Y $ relaterar till varandra genom någon (kausal) linjär relation $$ Y = \ text {lite $ X + $ mycket of error} $$ Då kan du föreställa dig att det inte skulle vara bra att helt vända det förhållandet om du vill uttrycka $ X $ baserat på ett givet värde på $ Y $ .
I stället för
$$ X = \ text {mycket $ Y + $ lite fel} $$
det vore bättre att också använda
$$ X = \ text {lite $ Y + $ mycket fel} $$
Se följande exempeldistributioner med deras respektive regressionslinjer.Distributionerna är flervariata normala med $ \ Sigma_ {11} \ Sigma_ {22} = 1 $ och $ \ Sigma_ {12 } = \ Sigma_ {21} = \ rho $
De villkorliga förväntade värdena (vad du får i en linjär regression) är
$$ \ begin {array} {} E (Y | X) & = & \ rho X \\ E (X | Y) & = & \ rho Y \ end {array} $$
och i detta fall med $ X, Y $ en flervariat normalfördelning, då är marginalfördelningarna
$$ \ begin {array} {} Y & \ sim & N (\ rho X, 1- \ rho ^ 2) \\ X & \ sim & N (\ rho Y, 1- \ rho ^ 2) \ end {array} $$
Så du kan se variabeln Y som ett par t $ \ rho X $ och ett delbrus med varians $ 1- \ rho ^ 2 $ . Detsamma gäller tvärtom.
Ju större korrelationskoefficienten $ \ rho $ , desto närmare kommer de två raderna. Men ju lägre korrelationen är, desto mindre stark blir förhållandet, desto mindre brant blir linjerna (detta gäller för båda raderna Y ~ X
och X ~ Y
)
Kommentarer
- Det är en utmärkt förklaring. Enkelt och intuitivt
Svar
Ett enkelt sätt att titta på detta är att notera att om det är sant modell $ y = \ alpha + \ beta x + \ epsilon $ , du kör två regressioner:
- $ y = a_ {y \ sim x} + b_ {y \ sim x} x $
- $ x = a_ {x \ sim y} + b_ {x \ sim y} y $
Sedan har vi med $ b_ {y \ sim x } = \ frac {cov (x, y)} {var (x)} = \ frac {cov (x, y)} {var (y)} \ frac {var (y)} {var (x)} $ :
$$ b_ {y \ sim x} = b_ {x \ sim y} \ frac {var (y)} {var ( x)} $$
Så om du får en brantare lutning eller inte beror bara på förhållandet $ \ frac {var (y)} { var (x)} $ . Detta förhållande är lika med, baserat på den antagna sanna modellen:
$$ \ frac {var (y)} {var (x)} = \ frac { \ beta ^ 2 var (x) + var (\ epsilon)} {var (x)} $$
Länk till andra svar
Du kan ansluta detta resultat med svaren från andra, som sa att när $ R ^ 2 = 1 $ borde det vara det ömsesidiga. Faktum är att $ R ^ 2 = 1 \ Rightarrow var (\ epsilon) = 0 $ , och också, $ b_ {y \ sim x} = \ beta $ (inget uppskattningsfel), därför:
$$ R ^ 2 = 1 \ Rightarrow b_ {y \ sim x} = b_ {x \ sim y} \ frac {\ beta ^ 2 var (x) + 0} {var (x)} = b_ {x \ sim y} \ beta ^ 2 $$
Så $ b_ {x \ sim y} = 1 / \ beta $
Svar
Det blir intressant när det också finns buller på dina ingångar (som vi kan hävda är alltid fallet, inget kommando eller observation är någonsin perfekt).
I har byggt några simuleringar för att observera fenomenet, baserat på ett enkelt linjärt förhållande $ x = y $, med Gaussiskt brus på både x och y. Jag genererade observationerna enligt följande (pythonkod):
x = np.linspace(0, 1, n) y = x x_o = x + np.random.normal(0, 0.2, n) y_o = y + np.random.normal(0, 0.2, n)
Se de olika resultaten (odr här är ortogonal distansregression, dvs. samma som minst rektanglar regression):
All kod finns där:
https://gist.github.com/jclevesque/5273ad9077d9ea93994f6d96c20b0ddd
Svar
Det korta svaret
Målet med en enkel linjär regression är att komma med de bästa förutsägelserna för y
variabel, givet värden för x
variabeln. Detta är ett annat mål än att försöka komma med den bästa förutsägelsen för x
variabeln, givet värden för y
variabeln.
Enkel linjär regression av y ~ x
ger dig den ”bästa” möjliga modellen för att förutsäga y
givet x
. Därför, om du passar en modell för x ~ y
och algebraiskt inverterade den, kunde den modellen i bästa fall bara göra lika bra som modellen för y ~ x
. Men att invertera en modell som är lämplig för x ~ y
blir vanligtvis sämre när man förutsäger y
givet x
, jämfört med den ”optimala” y ~ x
-modellen, eftersom den ”inverterade x ~ y
-modellen” skapades för att uppfylla ett annat mål.
Illustration
Tänk dig att du har följande dataset:
När du kör en OLS-regression av y ~ x
kommer du med följande modell
y = 0.167 + 1.5*x
Detta optimerar förutsägelser av y
genom att göra följande förutsägelser, som har associerade fel:
OLS-regressionens förutsägelser är optimala i den meningen att summan av värdena i kolumnen längst till höger (dvs. summan av kvadrater) är så liten som möjligt.
När du kör en OLS-regression på x ~ y
, komma med en annan modell:
x = -0.07 + 0.64*y
Detta optimerar förutsägelser av x genom att göra följande förutsägelser med tillhörande fel.
Återigen är detta optimalt i den meningen att summan av värdena i kolumnen längst till höger är så liten som möjligt (lika med 0.071
).
Tänk dig nu att du bara försökte invertera den första modellen, y = 0.167 + 1.5*x
, med algebra och ge dig modellen x = -0.11 + 0.67*x
.
Detta ger dig följande förutsägelser och associerade fel:
Summan av värdena i kolumnen längst till höger är 0.074
, som är större än motsvarande summa från modellen du får från att regressera x på y, dvs x ~ y
-modellen. Med andra ord gör den ”inverterade y ~ x
-modellen ett sämre jobb med att förutsäga x än OLS-modellen för x ~ y
.