Używam quantreg pakiet do modelu regresji używając 99. percentyla moich wartości w zbiorze danych. W oparciu o porady z poprzedniego pytania dotyczącego przepełnienia stosu użyłem następującej struktury kodu.
mod <- rq(y ~ log(x), data=df, tau=.99)
pDF <- data.frame(x = seq(1,10000, length=1000) )
pDF <- within(pDF, y <- predict(mod, newdata = pDF) )
które pokazuję na wykresie na moich danych. Narysowałem to za pomocą ggplot2, z wartością alfa punktów. Myślę, że ogon mojej dystrybucji nie jest wystarczająco uwzględniany w mojej analizie. Być może wynika to z faktu, że istnieją pojedyncze punkty, które są ignorowane przez pomiar typu percentyla.
Sugerował to jeden z komentarzy
Winieta pakietu zawiera sekcje dotyczące nieliniowej regresji kwantyli, a także modele z wygładzającymi splajnami itp.
Na podstawie mojego poprzedniego pytania założyłem związek logarytmiczny, ale nie jestem pewien, czy to prawda. Pomyślałem, że uda mi się wyodrębnić wszystkie punkty w przedziale 99 percentyla, a następnie zbadać je osobno, ale nie jestem pewien, jak to zrobić, czy jest to dobre podejście. Byłbym wdzięczny za wszelkie porady, jak poprawić identyfikację tego związku.
źródło
Odpowiedzi:
Wszystkie modele są złe, ale niektóre są przydatne (George Box). Zmuszasz kształt logrithmiczny do dopasowanej krzywej i szczerze mówiąc, nie wygląda to tak źle. Dopasowanie jest słabe na ogonie, ponieważ jest tam mniej punktów; dwa dozwolone parametry będą pasować do większości danych. Innymi słowy, w skali logarytmicznej, ten ogon nie jest wystarczająco daleko od dużej ilości danych, aby zapewnić efekt dźwigni. Nie ma to związku z kwantową naturą regresji; OLS zignorowałby również te punkty (szczególnie w skali dziennika).
Łatwo jest pozwolić na pewną nieliniowość. Nie zgadzam się z naturalnymi splajnami, ale znowu wszystkie modele są błędne:
quantreg
Pakiet ma jakieś specjalne haki do monotonicznych wypustami jeśli to stanowić zagrożenie dla Ciebie.źródło