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
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.
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.= Iterations
nSample.Size
z
= x
+y
= x
+ z
+y
x
z
wyprowadzone z:
1y.predicted
) i ...
2)bizarro.y.predicted
).
output
Iterations
R2)12)1 > 2rx
y
z
output
simtestit()
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).
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
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.
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ż.