Co oznacza wzór r y~1?

Czytałem dokumentację R Formula i próbowałem dowiedzieć się, jak pracować z depmix (z pakietu depmixS4).

Teraz, w dokumentacji depmixS4, wzór próbki wydaje się być czymś w rodzaju y ~ 1. Dla prostych przypadków, takich jak y ~ x, definiuje zależność między wejściem x i wyjściem y, więc rozumiem, że jest ona podobna do y = a * x + b, Gdzie a jest nachyleniem, a b jest przechwyceniem.

Jeśli wrócimy do y ~ 1, wzór jest wyrzucasz mnie. Czy jest równoważne y = 1 (linia pozioma W y = 1)?

Aby dodać kontekst bitowy, jeśli spojrzysz na dokumentację depmixs4, poniżej znajduje się jeden przykład

depmix(list(rt~1,corr~1),data=speed,nstates=2,family=list(gaussian(),multinomial()))

Myślę, że ogólnie formuła, która kończy się na ~ 1 jest dla mnie myląca. Czy ktoś może wyjaśnić, co oznacza ~ 1 lub y ~ 1? Wielkie dzięki!

 32
Author: Antony, 2012-11-13

3 answers

Wiele operatorów używanych w wzorach modelu (asterix, plus, caret) w R, ma znaczenie specyficzne dla modelu i jest to jeden z nich: symbol "jeden" oznacza przechwycenie.

Innymi słowy, jest to oczekiwana wartość zmiennej zależnej, gdy zmienne niezależne są zerowe lub nie mają wpływu. (Aby użyć bardziej popularnego matematycznego znaczenia terminów modelowych, zawiń je w I()). Przechwytuje się zwykle tak, że najczęściej widzi się go w kontekście jawne określenie modelu bez przechwytywania.

Oto dwa sposoby określenia tego samego modelu dla modelu regresji liniowej y na x. pierwszy ma implicit intercept term, a drugi explicit one:

y ~ x
y ~ 1 + x

Oto sposoby, aby dać regresję liniową y na x przez początek (to znaczy bez terminu przechwytywania):

y ~ 0 + x
y ~ -1 + x
y ~ x - 1

W konkretnym przypadku, o którym wspomniałeś (y ~ 1), y nie jest przewidywana przez żadną inną zmienną, więc naturalna prognoza jest średnią y, jak stwierdził Paul Hiemstra:

> data(city)
> r <- lm(x~1, data=city)
> r

Call:
lm(formula = x ~ 1, data = city)

Coefficients:
(Intercept)  
       97.3  

> mean(city$x)
[1] 97.3

I usunięcie przechwytywania z -1 pozostawia cię z niczym:

> r <- lm(x ~ -1, data=city)
> r

Call:
lm(formula = x ~ -1, data = city)

No coefficients

formula() jest funkcją do ekstrakcji formuły z obiektów, a jej plik pomocy nie jest najlepszym miejscem do poczytania o określaniu formuł modelu w R. proponuję spojrzeć na to Wyjaśnienie lub Rozdział 11 Wprowadzenie do R.

 32
Author: MattBagg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-21 01:28:20

Jeśli twój model miał postać y ~ x1 + x2 to (z grubsza rzecz biorąc) przedstawia:

 y = β0 + β1(x1) + β2(x2)

 Which is of course the same as 
 y = β0(1) + β1(x1) + β2(x2)

W powyższym wzorze istnieje implicit +1. Tak naprawdę powyższy wzór to y ~ 1 + x1 + x2

Możemy mieć bardzo prosty wzór, przy czym y nie jest zależne od żadnej innej zmiennej. To jest formuła, do której się odwołujesz, y ~ 1 które z grubsza równałoby się

 y = β0(1) = β0

Jak podkreśla @ Paul, gdy rozwiążesz prosty model, otrzymasz β0 = mean (y)




Oto przykład

  # Let's make a small sample data frame
  dat <- data.frame(y= (-2):3, x=3:8)

  # Create the linear model as above
  simpleModel <- lm(y ~ 1, data=dat)

  ## COMPARE THE COEFFICIENTS OF THE MODEL TO THE MEAN(y)
  simpleModel$coef
    # (Intercept) 
    #         0.5 

  mean(dat$y)
    # [1] 0.5
 16
Author: Ricardo Saporta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-13 19:49:17

Ogólnie taki wzór opisuje relację między zmiennymi zależnymi i niezależnymi w postaci modelu liniowego. Lewa strona To zmienne zależne, prawa strona niezależna. Zmienne niezależne są używane do obliczania składnika trendu modelu liniowego, następnie zakłada się, że pozostałości mają pewien rodzaj rozkładu. Gdy niezależne są równe Jedynce ~ 1, składnikiem trendu jest pojedyncza wartość, np. Średnia wartość danych, tzn. model liniowy ma tylko przechwytywanie.

 5
Author: Paul Hiemstra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-13 19:36:03