Jak modelować ten dziwny rozkład (prawie odwrotny J)


25

Moja zmienna zależna pokazana poniżej nie pasuje do żadnej znanej mi dystrybucji. Regresja liniowa wytwarza nieco nienormalne, wypaczone w prawo resztki, które w dziwny sposób odnoszą się do przewidywanego Y (drugi wykres). Wszelkie sugestie dotyczące transformacji lub innych sposobów uzyskania najbardziej aktualnych wyników i najlepszej dokładności predykcyjnej? Jeśli to możliwe, chciałbym uniknąć niezdarnego podziału na kategorie, powiedzmy, 5 wartości (np. 0, lo%, med%, hi%, 1).

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj


7
Lepiej powiedz nam o tych danych i skąd pochodzą: coś zablokowało rozkład, który naturalnie wykracza poza przedział . Możliwe, że użyłeś metody pomiaru lub procedury statystycznej, która nie jest całkiem odpowiednia dla twoich danych. Próba załatania takiego błędu za pomocą wyrafinowanych technik dopasowania rozkładu, nieliniowych powtórzeń wyrażeń, binowania itp. Po prostu zwiększyłaby błąd, więc dobrze byłoby obejść ten problem całkowicie. [0,1]
whuber

2
@ whuber - Dobra myśl, ale zmienna została stworzona przez złożony system biurokratyczny, który niestety jest osadzony w kamieniu. Nie wolno mi ujawniać natury zmiennych tutaj zaangażowanych.
rolando2

1
Dobra, warto było spróbować. Myślę, że zamiast przekształcać dane, nadal możesz chcieć rozpoznać mechanizm zaciskający w postaci procedury ML w celu wykonania regresji: byłoby to podobne do oglądania ich jako danych, które są zarówno cenzurowane po lewej, jak i po prawej stronie .
whuber

Wypróbuj dystrybucję beta z parametrami mniejszymi niż jedność, en.wikipedia.org/wiki/File:Beta_distribution_pdf.svg
Alecos Papadopoulos

2
Ten rodzaj wanny lub dystrybucji w kształcie litery U jest powszechny w czytelnictwie czasopism, gdzie wiele osób przeczyta jedno wydanie publikacji, np. W gabinecie lekarskim lub abonentów, którzy widzą każdy problem z odrobiną czytelników pomiędzy nimi. Kilka komentarzy i odpowiedzi wskazało dystrybucję beta jako jedno z możliwych rozwiązań. Literatura, którą znam, wskazuje na dwumian beta jako opcję lepszego dopasowania.
Mike Hunter,

Odpowiedzi:


47

Metody regresji ocenzurowanej mogą obsługiwać takie dane. Zakładają, że reszty zachowują się jak w zwykłej regresji liniowej, ale zostały zmodyfikowane w taki sposób

  1. (Lewa cenzura): wszystkie wartości mniejsze niż dolny próg, który jest niezależny od danych (ale może różnić się w zależności od przypadku), nie zostały określone ilościowo; i / lub

  2. (Właściwa cenzura): wszystkie wartości większe niż wysoki próg, który jest niezależny od danych (ale może różnić się w zależności od przypadku), nie zostały określone ilościowo.

„Nieokreślony” oznacza, że ​​wiemy, czy wartość spada poniżej (lub powyżej) progu, ale to wszystko.

Metody dopasowania zazwyczaj wykorzystują maksymalne prawdopodobieństwo. Gdy model odpowiedzi odpowiadającej wektorowi X jest w formieYX

YXβ+ε

z iid o wspólnym rozkładzie F σ z PDF f σ (gdzie σ są nieznanymi „parametrami uciążliwymi”), to - przy braku cenzury - logarytmiczne prawdopodobieństwo obserwacji ( x i , y i ) wynosiεFσfσσ(xi,yi)

Λ=i=1nlogfσ(yixiβ).

Z censoring występuje, można podzielić na trzy przypadki (ewentualnie puste) klasy: indeksów do n 1 , z Y i zawiera na dolny próg wartości i stanowią pozostawione uciętych danych; indeksów i = N 1 + 1 do N 2 , z Y i określono ilościowo; a dla pozostałych indeksów y i zawierają górne wartości progowe i reprezentują prawą cenzuręi=1n1yii=n1+1n2yiyidane. Prawdopodobieństwo dziennika jest uzyskiwane w taki sam sposób, jak poprzednio: jest to dziennik iloczynu prawdopodobieństw.

Λ=i=1n1logFσ(yixiβ)+i=n1+1n2logfσ(yixiβ)+i=n2+1nlog(1Fσ(yixiβ)).

Jest to maksymalizowane numerycznie jako funkcja (β,σ)

Z mojego doświadczenia wynika, że ​​takie metody mogą działać dobrze, gdy cenzuruje się mniej niż połowę danych; w przeciwnym razie wyniki mogą być niestabilne.


Oto prosty Rprzykład z wykorzystaniem censRegpakietu do zilustrowania, jak OLS i wyniki ocenzurowane mogą się różnić (bardzo dużo) nawet przy dużej ilości danych. Jakościowo odtwarza dane w pytaniu.

library("censReg")
set.seed(17)
n.data <- 2960
coeff  <- c(-0.001, 0.005)
sigma  <- 0.005
x      <- rnorm(n.data, 0.5)
y      <- as.vector(coeff %*% rbind(rep(1, n.data), x) + rnorm(n.data, 0, sigma))
y.cen           <- y
y.cen[y < 0]    <- 0
y.cen[y > 0.01] <- 0.01
data = data.frame(list(x, y.cen))

0.0050.0010.005

Użyjmy obu lmi censRegdopasuj linię:

fit <- censReg(y.cen ~ x, data=data, left=0.0, right=0.01)
summary(fit)

Podane przez wyniki regresji ocenzurowanej print(fit)

(Intercept)           x       sigma 
  -0.001028    0.004935    0.004856 

0.0010.0050.005 .

fit.OLS <- lm(y.cen ~ x, data=data)
summary(fit.OLS)

Podane przez OLS dopasowanie print(fit.OLS)to

(Intercept)            x  
   0.001996     0.002345  

summary0.002864 , czyli mniej niż połowę wartości rzeczywistej. Tego rodzaju uprzedzenia są typowe dla regresji z dużą ilością cenzurowanych danych.

Dla porównania ograniczmy regresję do danych ilościowych:

fit.part <- lm(y[0 <= y & y <= 0.01] ~ x[0 <= y & y <= 0.01])
summary(fit.part)

(Intercept)  x[0 <= y & y <= 0.01]  
   0.003240               0.001461  

Nawet gorzej!

Kilka zdjęć podsumowuje sytuację.

lineplot <- function() {
  abline(coef(fit)[1:2], col="Red", lwd=2)
  abline(coef(fit.OLS), col="Blue", lty=2, lwd=2)
  abline(coef(fit.part), col=rgb(.2, .6, .2), lty=3, lwd=2)
}
par(mfrow=c(1,4))
plot(x,y, pch=19, cex=0.5, col="Gray", main="Hypothetical Data")
lineplot()
plot(x,y.cen, pch=19, cex=0.5, col="Gray", main="Censored Data")
lineplot()
hist(y.cen, breaks=50, main="Censored Data")
hist(y[0 <= y & y <= 0.01], breaks=50, main="Quantified Data")

Działki

00.01 w pierwszym zostały przesunięte do odpowiednich progów, aby uzyskać drugi wykres. W rezultacie możesz zobaczyć wszystkie cenzurowane dane ułożone u dołu iu góry.

Y0.00320.0037


świetna odpowiedź (+1). Gdybyśmy wizualnie usunęli dwa kolce cenzurujące, wydaje mi się, że zmienna zależna ma coś zbliżonego do rozkładu wykładniczego, tak jakby dane leżące u podstaw były długością jakiegoś procesu. Czy to coś, co należy wziąć pod uwagę?
user603

@ user603 Symulowałem wartości kwantyfikowane z częścią ramienia Gaussa, właściwie :-). Musimy tutaj zachować ostrożność, ponieważ odpowiedni model prawdopodobieństwa dotyczy reszt, a nie samej zmiennej odpowiedzi. Chociaż jest to trochę trudne, można wykonać cenzurowane wykresy resztkowe, a nawet ocenzurowane wykresy prawdopodobieństwa, aby ocenić dobroć dopasowania do jakiegoś hipotetycznego rozkładu.
whuber

Chodzi mi o to, że przy podwójnie ocenzurowanym gaussowskim histogram jego nieocenzurowanych wartości powinien być nieco płaski, ale wydaje się, że maleją one delikatnie, gdy
oddalamy

1
@ user603 Ach, nie, to nie jest przypadek: sprawdź sam histogram wartości ilościowych. Wydają się nachylone prawie liniowo w dół, dokładnie tak, jak w pytaniu.
whuber

2
Próbowałem regresji ocenzurowanej w moim zbiorze danych, a wyniki sprawdzały się lepiej niż te z OLS. Miły dodatek do mojego zestawu narzędzi - thx.
rolando2

9

Czy wartości są zawsze między 0 a 1?

Jeśli tak, możesz rozważyć dystrybucję wersji beta i regresję wersji beta.

Pamiętaj jednak o przemyśleniu procesu prowadzącego do twoich danych. Możesz również zrobić model z napompowaniem 0 i 1 (0 modeli z napompowaniem jest powszechnych, prawdopodobnie prawdopodobnie musiałbyś przedłużyć do 1 napompowanego przez ciebie samego). Duża różnica polega na tym, że te skoki reprezentują dużą liczbę dokładnych zer i jedynek lub tylko wartości zbliżone do 0 i 1.

Najlepiej skonsultować się z lokalnym statystykem (z umową o nieujawnianiu, aby omówić szczegóły skąd pochodzą dane), aby wypracować najlepsze podejście.


2
01

Tak, zawsze w zakresie od 0% do 1% ... I te skoki rzeczywiście są dokładnie w 0% i 1%. Czy modele o zerowym lub zerowym napełnieniu mają zastosowanie do takich danych niezliczonych?
rolando2

1
Jest normalnie zawyżone zero, ale nie dotyczy to tutaj.
Peter Flom - Przywróć Monikę

Z dokładnymi zerami i jedynymi, ale ciągłymi między nimi, wygląda na to, że może istnieć ciągły rozkład leżący u podstaw poza tym obszarem zaokrąglonym do 0 lub 1. Byłby to przypadek podwójnie ocenzurowany, a modele mogłyby być dopasowane przy użyciu tego pomysłu.
Greg Snow

4

Zgodnie z radą Grega Snowa słyszałem, że modele beta są również przydatne w takich sytuacjach (patrz Smithson i verkuilen, 2006, A Better Lemon Squeezer ), a także regresji kwantowej ( Bottai i in., 2010 ), ale te wydają się być tak wyraźnymi efektami podłogi i sufitu, że mogą być nieodpowiednie (szczególnie regresja beta).

Inną alternatywą byłoby rozważenie typów modeli regresji ocenzurowanej, w szczególności modelu Tobita , w którym uważamy, że zaobserwowane wyniki są generowane przez pewną ukrytą zmienną ukrytą, która jest ciągła (i przypuszczalnie normalna). Nie powiem, że ten ciągły model leżący u podstaw jest rozsądny, biorąc pod uwagę histogram, ale możesz znaleźć pewne wsparcie dla niego, ponieważ widzisz, że rozkład (ignorowanie podłogi) ma wyższą gęstość przy niższych wartościach instrumentu i powoli zmniejsza się do wyższych wartości.

Powodzenia, że ​​cenzura jest tak dramatyczna, że ​​trudno sobie wyobrazić odzyskanie bardzo przydatnych informacji w ekstremalnych zasobach. Wygląda mi na to, że prawie połowa twojej próbki mieści się w pojemnikach podłogowych i sufitowych.

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.