Zdaję sobie sprawę, że ten temat pojawiał się wiele razy wcześniej, np. Tutaj , ale wciąż nie jestem pewien, jak najlepiej zinterpretować moje wyniki regresji.
Mam bardzo prosty zestaw danych, składający się z kolumny wartości x i kolumny wartości y , podzielonych na dwie grupy według lokalizacji (loc). Punkty wyglądają tak
Kolega wysunął hipotezę, że do każdej grupy powinniśmy dopasować osobne proste regresje liniowe, których użyłem y ~ x * C(loc)
. Dane wyjściowe pokazano poniżej.
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.873
Model: OLS Adj. R-squared: 0.866
Method: Least Squares F-statistic: 139.2
Date: Mon, 13 Jun 2016 Prob (F-statistic): 3.05e-27
Time: 14:18:50 Log-Likelihood: -27.981
No. Observations: 65 AIC: 63.96
Df Residuals: 61 BIC: 72.66
Df Model: 3
Covariance Type: nonrobust
=================================================================================
coef std err t P>|t| [95.0% Conf. Int.]
---------------------------------------------------------------------------------
Intercept 3.8000 1.784 2.129 0.037 0.232 7.368
C(loc)[T.N] -0.4921 1.948 -0.253 0.801 -4.388 3.404
x -0.6466 0.230 -2.807 0.007 -1.107 -0.186
x:C(loc)[T.N] 0.2719 0.257 1.057 0.295 -0.242 0.786
==============================================================================
Omnibus: 22.788 Durbin-Watson: 2.552
Prob(Omnibus): 0.000 Jarque-Bera (JB): 121.307
Skew: 0.629 Prob(JB): 4.56e-27
Kurtosis: 9.573 Cond. No. 467.
==============================================================================
Patrząc na wartości p dla współczynników, zmienna fikcyjna dla lokalizacji i warunek interakcji nie różnią się znacząco od zera, w którym to przypadku mój model regresji zasadniczo ogranicza się do czerwonej linii na powyższym wykresie. Według mnie sugeruje to, że dopasowanie oddzielnych linii do dwóch grup może być błędem, a lepszym modelem może być pojedyncza linia regresji dla całego zestawu danych, jak pokazano poniżej.
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.593
Model: OLS Adj. R-squared: 0.587
Method: Least Squares F-statistic: 91.93
Date: Mon, 13 Jun 2016 Prob (F-statistic): 6.29e-14
Time: 14:24:50 Log-Likelihood: -65.687
No. Observations: 65 AIC: 135.4
Df Residuals: 63 BIC: 139.7
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [95.0% Conf. Int.]
------------------------------------------------------------------------------
Intercept 8.9278 0.935 9.550 0.000 7.060 10.796
x -1.2446 0.130 -9.588 0.000 -1.504 -0.985
==============================================================================
Omnibus: 0.112 Durbin-Watson: 1.151
Prob(Omnibus): 0.945 Jarque-Bera (JB): 0.006
Skew: 0.018 Prob(JB): 0.997
Kurtosis: 2.972 Cond. No. 81.9
==============================================================================
Wygląda mi to OK, a wartości p dla wszystkich współczynników są teraz znaczące. Jednak AIC dla drugiego modelu jest znacznie wyższy niż dla pierwszego.
Zdaję sobie sprawę, że wybór modelu to coś więcej niż tylko wartości p lub tylko AIC, ale nie jestem pewien, co z tym zrobić. Czy ktoś może zaoferować jakieś praktyczne porady dotyczące interpretacji tego wyniku i wyboru odpowiedniego modelu ?
Moim zdaniem linia pojedynczej regresji wygląda OK (choć zdaję sobie sprawę, że żaden z nich nie jest szczególnie dobry), ale wydaje się, że istnieje co najmniej uzasadnienie dla dopasowania osobnych modeli (?).
Dzięki!
Edytowane w odpowiedzi na komentarze
@Cagdas Ozgenc
Model dwuwierszowy został dopasowany przy użyciu statsmodels Pythona i następującego kodu
reg = sm.ols(formula='y ~ x * C(loc)', data=df).fit()
Jak rozumiem, jest to w zasadzie tylko skrót dla takiego modelu
gdzie jest binarną zmienną „obojętną” reprezentującą lokalizację. W praktyce są to zasadniczo dwa modele liniowe, prawda? Gdy , a model zmniejsza się dol o c = D l = 0
czyli czerwona linia na powyższym wykresie. Gdy , i model staje sięl = 1
czyli niebieska linia na powyższym wykresie. Kod AIC dla tego modelu jest raportowany automatycznie w podsumowaniu statsmodels. W przypadku modelu jednokreskowego, którego po prostu użyłem
reg = ols(formula='y ~ x', data=df).fit()
Myślę, że to jest OK?
@ user2864849
Nie sądzę modelu jednolitej linii jest oczywiście lepiej, ale ja martw się, jak słabo ograniczone linię regresji dla jest. Dwie lokalizacje (D i N) są bardzo oddalone od siebie w przestrzeni, i nie byłbym wcale zaskoczony, gdyby zebranie dodatkowych danych gdzieś pośrodku wytworzyło punkty w przybliżeniu między czerwonymi i niebieskimi gromadami, które już mam. Nie mam jeszcze żadnych danych, aby to zrobić, ale nie sądzę, aby model jednokreskowy wyglądał zbyt okropnie i chciałbym, aby wszystko było tak proste, jak to możliwe :-)
Edytuj 2
Dla kompletności, oto pozostałe wykresy sugerowane przez @whuber. Model dwuwierszowy rzeczywiście wygląda znacznie lepiej z tego punktu widzenia.
Model dwuliniowy
Model jednowierszowy
Dziękuje wszystkim!
źródło
Odpowiedzi:
Czy próbowałeś używać obu predyktorów bez interakcji? Tak byłoby:
y ~ x + Loc
AIC może być lepszy w pierwszym modelu, ponieważ lokalizacja jest ważna. Ale interakcja nie jest ważna, dlatego wartości P nie są znaczące. Zinterpretujesz to jako efekt x po sterowaniu Loc.
źródło
Myślę, że dobrze zrobiłeś, kwestionując pogląd, że same wartości p i wartości AIC mogą determinować żywotność modelu. Cieszę się również, że zdecydowałeś się udostępnić go tutaj.
Jak wykazałeś, istnieją różne kompromisy, gdy rozważasz różne warunki i możliwe ich interakcje. Jednym z pytań, które należy wziąć pod uwagę, jest cel modelu. Jeśli masz zlecić określenie wpływu lokalizacji na
y
, powinieneś zachować lokalizację w modelu bez względu na to, jak słaba jest wartość p. Wynik zerowy sam w sobie jest znaczącą informacją.Na pierwszy rzut oka wydaje się jasne, że
D
lokalizacja oznacza większąy
. Ale jest tylko wąski zakres,x
dla którego masz zarówno wartości, jakD
iN
wartości lokalizacji. Ponowne wygenerowanie współczynników modelu dla tego małego przedziału prawdopodobnie spowoduje znacznie większy błąd standardowy.Ale może nie zależy ci na lokalizacji przekraczającej możliwości przewidywania
y
. Były to dane, które akurat posiadałeś, a kodowanie ich kolorami na twojej fabule ujawniło interesujący wzór. W takim przypadku możesz być bardziej zainteresowany przewidywalnością modelu niż interpretowalności swojego ulubionego współczynnika. Podejrzewam, że wartości AIC są w tym przypadku bardziej przydatne. Nie znam jeszcze AIC; ale podejrzewam, że może to negatywnie wpływać na mieszany termin, ponieważ istnieje tylko niewielki zakres, w którym można zmienić lokalizację na ustalonąx
. Ta lokalizacja wyjaśnia bardzo niewiele, co jeszczex
nie wyjaśnia.źródło
Musisz zgłosić obie grupy osobno (lub być może rozważyć modelowanie wielopoziomowe). Proste połączenie grup narusza jedno z podstawowych założeń regresji (i większość innych wnioskowych technik statystycznych), niezależność obserwacji. Innymi słowy, zmienna grupująca (lokalizacja) jest zmienną ukrytą, chyba że zostanie uwzględniona w analizie.
W skrajnym przypadku zignorowanie zmiennej grupującej może doprowadzić do paradoksu Simpsona. W tym paradoksie możesz mieć dwie grupy, w których istnieje dodatnia korelacja, ale jeśli je połączysz, uzyskasz (fałszywą, niepoprawną) korelację ujemną. (Lub odwrotnie, oczywiście.) Patrz http://www.theregister.co.uk/2014/05/28/theorums_3_simpson/ .
źródło