Mam zestaw danych zawierający wiele proporcji, które sumują się do 1. Jestem zainteresowany zmianą tych proporcji wzdłuż gradientu (patrz na przykład dane poniżej).
gradient <- 1:99
A1 <- gradient * 0.005
A2 <- gradient * 0.004
A3 <- 1 - (A1 + A2)
df <- data.frame(gradient = gradient,
A1 = A1,
A2 = A2,
A3 = A3)
require(ggplot2)
require(reshape2)
dfm <- melt(df, id = "gradient")
ggplot(dfm, aes(x = gradient, y = value, fill = variable)) +
geom_area()
Informacje dodatkowe: Nie musi to być koniecznie liniowe, zrobiłem to tylko dla uproszczenia przykładu. Dostępne są również oryginalne liczby, na podstawie których obliczane są te proporcje. Prawdziwy zestaw danych zawiera więcej zmiennych sumujących się do 1 (np. B1, B2 i B3, C1 do C4 itp.) - więc wskazówka dla rozwiązania wielowymiarowego byłaby również pomocna ... Ale na razie będę trzymać się jednowymiarowego strona statystyki.
Pytanie: Jak można analizować tego rodzaju dane? Przeczytałem trochę, a może pasuje model wielomianowy lub glm? - Jeśli uruchomię 3 (lub 2) błyski, jak mogę uwzględnić ograniczenie, że przewidywane wartości sumują się do 1? Nie chcę tylko wykreślać tego rodzaju danych, chcę również przeprowadzić głębszą regresję, taką jak analiza. Wolę używać R - jak mogę to zrobić w R?
źródło
proprcspline
w Stacie może być tym, czego szukasz (wiem, że chcesz go użyćR
, ale może to być punkt wyjścia): proprcspline oblicza ograniczony splajn sześcienny gładki proporcji obserwacji w każdej kategorii yvar, biorąc pod uwagę xvar, i przedstawia je w postaci wykresu warstwowego. Opcjonalnie te wygładzone proporcje można dostosować do zestawu zmiennych kontrolnych (cvars).Odpowiedzi:
W jednym wymiarze brzmi to jak regresja beta (z lub bez zmiennej dyspersji). Jest to model regresji ze zmienną zależną rozkładu beta, naturalnie ograniczoną 0-1. Pakiet R jest betareg i jest tutaj artykuł opisujący jego użycie .
W przypadku więcej niż dwóch proporcji zwykłe rozszerzenie dystrybucji Beta prowadzi do regresji Dirichleta. Dostępny jest pakiet R DirichletReg , opisany np . Tutaj .
Istnieje kilka powodów, dla których nie należy używać łączy logit i wielomianowej regresji logistycznej dla prawdziwych danych kompozycyjnych, głównie ze względu na to, jakie silne założenia sugerują dla wariancji. Jeśli jednak wszystkie twoje dane są rzeczywiście znormalizowanymi liczbami (liczebności?), Te założenia mogą być poprawne i sugestia Piotra prawdopodobnie byłaby dobrym rozwiązaniem.
źródło
Nie jestem pewien, czego dokładnie próbujesz się dowiedzieć, ale co z wielomianową regresją logistyczną z gradientem jako zmienną niezależną?
W R jednym ze sposobów na to jest funkcja mlogit w bibliotece mlogit. Zobacz tę winietę
źródło