Określenie struktury kowariancji: zalety i wady


15

Jakie są korzyści ze wskazania struktury kowariancji w GLM (zamiast traktowania wszystkich nie-diagonalnych wpisów w macierzy kowariancji jako zera)? Oprócz odzwierciedlenia tego, co wiemy o danych, robi to

  1. poprawić dobroć dopasowania?
  2. poprawić dokładność predykcyjną przetrzymywanych danych?
  3. pozwalają nam oszacować zakres kowariancji?

Jakie są koszty nałożenia struktury kowariancji? Czy to

  1. dodać komplikacje obliczeniowe dla algorytmów szacowania?
  2. zwiększyć liczbę szacowanych parametrów, również zwiększając AIC, BIC, DIC?

Czy możliwe jest empiryczne określenie właściwej struktury kowariancji, czy jest to coś, co zależy od twojej wiedzy na temat procesu generowania danych?

Jakieś koszty / korzyści, o których nie wspomniałem?


5
Zasadniczo musisz określić strukturę kowariancji w GLM. Jeśli przez „zakładanie braku kowariancji” masz na myśli „wszystkie nie-diagonalne wpisy w macierzy kowariancji są zerowe”, to wszystko, co zrobiłeś, to założyć jedną bardzo specyficzną strukturę kowariancji. (Możesz być bardziej szczegółowy, np. Zakładając, że wszystkie wariancje są równe.) Konkluzja: Nie jestem pewien, czy pytanie ma sens w obecnej formie. (I tak głosowałem, bo myślę, że wiele się nauczę, kiedy guru zaczną mówić.) Czy też źle cię rozumiem?
Stephan Kolassa

Czy masz na myśli strukturę kowariancji w GLM z, powiedzmy, wielowymiarowym rozkładem normalnego mieszania, czy analizę struktury kowariancji macierzy kowariancji, czy coś innego?
Tim

1
@StephanKolassa czy chcesz skopiować swój komentarz do odpowiedzi? Wydaje się, że odpowiada na to pytanie tak dobrze, jak się da.
Corone

@Coreone: dobra uwaga, dziękuję za przypomnienie. Poszedłem i opublikowałem odpowiedź. Być może ktoś inny wejdzie i da lepszy ...
Stephan Kolassa

Odpowiedzi:


13

Zasadniczo musisz określić strukturę kowariancji w GLM. Jeśli przez „zakładanie braku kowariancji” masz na myśli „wszystkie nie-diagonalne wpisy w macierzy kowariancji są zerowe”, to wszystko, co zrobiłeś, to założyć jedną bardzo specyficzną strukturę kowariancji. (Możesz być jeszcze bardziej szczegółowy, np. Zakładając, że wszystkie wariancje są równe.)

To jest naprawdę wariacja na temat: „Nie zgadzam się z żadną filozofią; jestem pragmatykiem”. - „Właśnie opisałeś filozofię, którą subskrybujesz”.

Jako taki, powiedziałbym, że zaletą myślenia o strukturze kowariancji jest szansa na zastosowanie modelu, który jest bardziej odpowiedni dla twoich danych. Tak jak powinieneś uwzględnić znane zależności funkcjonalne dla oczekiwanej wartości (lub średniej) swoich obserwacji, powinieneś uwzględnić każdą znaną strukturę w kowariancji.

I oczywiście „wadą” jest to, że trzeba się nad tym wszystkim zastanowić. Znacznie łatwiej jest po prostu użyć domyślnego ustawienia oprogramowania. Ale to trochę tak, jakby zawsze jeździć na pierwszym biegu, ponieważ samochód był na pierwszym biegu, kiedy go kupiłeś, i zrozumienie zmiany biegów wymaga wysiłku. Niepolecane.


2
+1 Zgadzam się z każdym słowem, które napisałeś, ale nie sądzę, że to w pełni odpowiada na pytanie. Na przykład, czy określenie bardziej odpowiedniej struktury kowariancji zmniejsza resztki modelu?
Jack Tanner

1
@JackTanner: dzięki! I masz rację, ponieważ nie w pełni odpowiedziałem na twoje pytanie, dlatego pierwotnie zamieściłem to tylko jako komentarz. Prawdę powiedziawszy: na przykład nie wiem, czy określenie prawidłowej struktury kowariancji koniecznie zmniejszy resztki. Wyobrażam sobie, że nałożenie dodatkowej struktury na (kowariancję) reszt może nawet ją zwiększyć - ale może zaoszczędzić na parametrach. Pomyśl o strukturze AR (1) zamiast nieustrukturyzowanej macierzy kowariancji. Podobne w przypadku innych pytań w poście. Byłbym zdecydowanie zainteresowany opiniami innych osób na ten temat.
Stephan Kolassa

1
+1; Jest to przydatna odpowiedź, ponadto, porównanie jest niesamowite.
russellpierce

2

Oto kolejna niepełna odpowiedź, która nawet nie dotyczy bezpośrednio GLM ... W moim bardzo ograniczonym doświadczeniu z modelowaniem równań strukturalnych (SEM) wybrałem kilka pomysłów, które, mam nadzieję, mogą coś wnieść do dyskusji. Pamiętaj, że przez cały czas mówię z (ograniczonego) doświadczenia z SEM, a nie GLM per se , i jestem dość nieświadomy, czy i gdzie to rozróżnienie może stać się ważne. Jestem bardziej użytkownikiem statystyk niż statystykami, więc nie jestem również pewien, czy te pomysły będą miały zastosowanie do wszystkich lub nawet większości danych; Przekonałem się tylko, że dotyczyły one większości moich.

Po pierwsze, chciałbym powtórzyć nacisk @ StephanKolassa na znaczenie modelowania tego, co już wiesz. Przyznajesz to na marginesie, ale myślę, że korzyści, o które pytasz, to korzyści z modelowania tego, co wiesz. Jako takie, w znaczący sposób odzwierciedlają fakt, że model wynikowy zawiera informacje o dodanej strukturze kowariancji.

W SEM odkryłem (poprzez ograniczone doświadczenie, a nie poprzez badania teoretyczne):

Korzyści

  1. Modelowanie struktury kowariancji poprawia dobroć dopasowania (GoF), jeśli kowariancja jest znacznie silniejsza niż jej błąd standardowy (tj. Jeśli szlak symetryczny jest znaczący). Oznacza to, że zwykle nie poprawiasz GoF poprzez modelowanie korelacji bliskich zeru, a wielokoliniowość może powodować problemy dla GoF, ponieważ zwiększa standardowe błędy.

  2. Nie próbowałem jeszcze trzymać danych do przewidzenia, ale moja intuicja jest taka, że ​​ustalenie kowariancji do zera w twoim modelu jest analogiczne do przewidywania DV poprzez połączenie zestawu oddzielnych równań regresji liniowej z pojedynczą IV. W przeciwieństwie do tego podejścia, regresja wielokrotna uwzględnia kowariancję w IV przy tworzeniu modelu równań do przewidywania DV. Z pewnością poprawia to interpretowalność poprzez oddzielenie efektów bezpośrednich od efektów pośrednich, które występują całkowicie w ramach dołączonego zestawu IV. Szczerze mówiąc, nie jestem pewien, czy to koniecznie poprawia przewidywanie DV. Będąc użytkownikiem statystyk, a nie statystykiem, rzuciłem razem następującą funkcję testowania symulacji, aby dać niepełną odpowiedź (najwyraźniej „Tak, dokładność predykcyjna poprawia się, gdy model uwzględnia kowariancję IV”) w tym, miejmy nadzieję, analogicznym przypadku ...

    simtestit=function(Sample.Size=100,Iterations=1000,IV.r=.3,DV.x.r=.4,DV.z.r=.4) {
    require(psych); output=matrix(NA,nrow=Iterations,ncol=6); for(i in 1:Iterations) {
    x=rnorm(Sample.Size); z=rnorm(Sample.Size)+x*IV.r
    y=rnorm(Sample.Size)+x*DV.x.r+z*DV.z.r
    y.predicted=x*lm(y~x+z)$coefficients[2]+z*lm(y~x+z)$coefficients[3]
    bizarro.y.predicted=x*lm(y~x)$coefficients[2]+z*lm(y~z)$coefficients[2]
    output[i,]=c(cor(y.predicted,y)^2,cor(bizarro.y.predicted,y)^2,
    cor(y.predicted,y)^2>cor(bizarro.y.predicted,y)^2,cor(x,z),cor(x,y),cor(y,z))}
    list(output=output,percent.of.predictions.improved=100*sum(output[,3])/Iterations,
    mean.improvement=fisherz2r(mean(fisherz(output[,1])-fisherz(output[,2]))))}
    
    # Wrapping the function in str( ) gives you the gist without filling your whole screen
    str(simtestit())
    

    N.= IterationsnSample.Sizez = x +y = x + z +yxz wyprowadzone z:

    1y.predicted ) i ...

    2)bizarro.y.predicted ).

    outputIterationsR2)12)1>2)rxyzoutputsimtestit()str( )R2) została poprawiona przez zastosowanie (1r , przy użyciu transformacji Fishera za pomocąpsych

    R2)R2)IV.r) jest większy. Ponieważ prawdopodobnie znasz lepiej swoją funkcję GLM niż ja (co wcale nie jest), prawdopodobnie możesz zmienić tę funkcję lub skorzystać z podstawowego pomysłu, aby porównać prognozy GLM dla dowolnej liczby IV bez większego problemu. Zakładając, że okaże się (lub tak się stanie) w ten sam sposób, wydaje się, że podstawowa odpowiedź na twoje drugie pytanie brzmi prawdopodobnie tak, ale ile zależy od tego, jak silnie zachodzi zależność IV. Różnice w błędzie próbkowania między danymi przetrzymywanymi a danymi zastosowanymi do dopasowania modelu mogą przytłoczyć poprawę jego dokładności predykcyjnej w tym drugim zestawie danych, ponieważ znowu poprawa wydaje się niewielka, chyba że korelacje IV są silne (przynajmniej maksymalnie podstawowy przypadek tylko z dwoma kroplami).

  3. Określenie wolnej ścieżki kowariancji między IV w modelu oznacza, że ​​funkcja dopasowania modelu poprosi o oszacowanie współczynnika tej ścieżki, który reprezentuje zakres kowariancji między IV. Jeśli twoja funkcja GLM pozwala ci określić model, w którym kowariancja między IV jest swobodnie szacowana, a nie ustalona na zero, to twój problem jest, mam nadzieję, prostą sprawą, aby dowiedzieć się, jak to zrobić i jak uzyskać funkcję ten szacunek. Jeśli twoja funkcja domyślnie ocenia kowariancje IV, twój problem upraszcza dalej tylko do tej drugiej sprawy (jak ma to miejsce w przypadku lm( )).

Koszty

  1. Tak, dowolne oszacowanie kowariancji między IV oznacza, że ​​algorytm dopasowania modelu musi wykonać pewną pracę, aby oszacować współczynnik tej ścieżki. Brak określenia tej ścieżki w modelu zwykle oznacza ustalenie współczynnika na zero, co oznacza, że ​​algorytm dopasowania modelu nie musi oszacować współczynnika. Szacowanie dodatkowych parametrów kowariancji oznacza, że ​​cały model będzie wymagał więcej czasu na dopasowanie. W modelach, których oszacowanie zajmuje dużo czasu, dodatkowy czas może być znaczny, szczególnie jeśli masz dużo IV.

  2. Tak, dowolnie szacowana struktura kowariancji implikuje oszacowania parametrów. Populacje mają parametry kowariancji, więc jeśli szacujesz kowariancje populacji, szacujesz parametry. Jeśli jednak twój model pasuje znacznie lepiej, ponieważ wybierasz oszacowanie nietrywialnej korelacji zamiast ustawiania jej na zero, prawdopodobnie możesz oczekiwać poprawy kryteriów informacyjnych Akaike i Bayesian, podobnie jak innych kryteriów zawierających GoF. Nie znam kryterium informacji o odchyleniach ( DIC, do którego się odwołujesz, prawda?), Ale sądząc po stronie Wikipedii , wydaje się również, że zawiera GoF i karę za złożoność modelu.

    Dlatego GoF powinien po prostu wymagać proporcjonalnej poprawy większej niż złożoność modelu, aby poprawić DIC. Jeśli nie zdarzy się to ogólnie, kryteria takie jak te, które karają za złożoność modelu, pogorszą się, gdy oszacujesz więcej kowariancji IV. Może to być problem, jeśli na przykład twoje IV nie korelują, ale struktura kowariancji jest i tak swobodnie szacowana, ponieważ uważasz, że IV mogą być skorelowane, lub dlatego, że jest to domyślne ustawienie twojej funkcji. Jeśli masz wcześniejsze teoretyczne powody, aby założyć, że korelacja wynosi zero, i nie chcesz, aby Twój model przetestował to założenie, jest to jeden z przypadków, w których uzasadnione może być ustalenie ścieżki na zero. Jeśli twoja poprzednia teoria jest w przybliżeniu słuszna,

Nie wiem, z jaką funkcją pracujesz, ale po raz kolejny jestem pewien, że nie jestem z nią zaznajomiony, więc jestem pewien, że ta odpowiedź mogłaby zostać ulepszona, szczególnie moja odpowiedź na drugie pytanie o korzyść (z jednej strony matematyczne dowód tego, na co odpowiadam przez symulację na temat regresji wielokrotnej, jest prawdopodobnie gdzieś tam dostępny). Nie jestem nawet w ogóle zaznajomiony z GLM (zakładając, że masz na myśli uogólnione , a nie ogólne modelowanie liniowe, jak sugeruje tag), więc mam nadzieję, że ktoś skomentuje lub edytuje tę odpowiedź, jeśli różnice w SEM unieważnią moje odpowiedzi na twoje pytania w ogóle.

Niemniej jednak wydaje się, że czekaliśmy dziesięć miesięcy, aż guru się odezwą, więc jeśli to nie zmusi ich do zrobienia tego, prawdopodobnie będzie musiało to zrobić samo. Daj mi znać, jeśli masz na myśli określoną funkcję GLM, z którą chciałbyś, abym zadzierał w języku R. Mogę być w stanie dowiedzieć się, jak odpowiedzieć bardziej bezpośrednio na twoją aplikację, jeśli możesz podać interesującą funkcję GLM w R. Nie jestem też ekspertem w testowaniu symulacji, ale myślę, że twoje pozostałe cztery pytania mogłyby zostać przetestowane na sim (bardziej bezpośrednio) też.


2
+1 Imponująca przemyślana odpowiedź. Witamy w CV, Nick!
whuber
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.