Najlepsze praktyki w traktowaniu danych zakresu jako ciągłych

9

Patrzę, czy obfitość jest związana z rozmiarem. Rozmiar jest (oczywiście) ciągły, jednak obfitość jest rejestrowana na takiej skali, że

A = 0-10
B = 11-25
C = 26-50
D = 51-100
E = 101-250
F = 251-500
G = 501-1000
H = 1001-2500
I = 2501-5000
J = 5001-10,000
etc... 

Od A do Q ... 17 poziomów. Myślałem, że jednym z możliwych podejść byłoby przypisanie każdej literze liczby: minimalnej, maksymalnej lub mediany (tj. A = 5, B = 18, C = 38, D = 75,5 ...).

Jakie są potencjalne pułapki - i jako takie, czy lepiej traktować te dane jako kategoryczne?

Przeczytałem to pytanie, które zawiera pewne przemyślenia - ale jednym z kluczy tego zestawu danych jest to, że kategorie nie są nawet równe - więc traktowanie go jako kategorycznego zakładałoby, że różnica między A i B jest taka sama jak różnica między B i C ... (które można naprawić za pomocą logarytmu - dzięki Anonymouse)

Ostatecznie chciałbym sprawdzić, czy rozmiar można wykorzystać jako predyktor obfitości po uwzględnieniu innych czynników środowiskowych. Prognozy będą również w zakresie: Biorąc pod uwagę rozmiar X oraz czynniki A, B i C, przewidujemy, że obfitość Y spadnie między Min a Max (co, jak sądzę, może obejmować jeden lub więcej punktów skali: więcej niż Min D i mniej niż Max F ... chociaż im bardziej precyzyjnie, tym lepiej).

Trees4theForest
źródło

Odpowiedzi:

13

Kategoryczne rozwiązanie

Traktowanie wartości jako kategoryczne traci kluczowe informacje o względnych rozmiarach . Standardową metodą przezwyciężenia tego jest uporządkowana regresja logistyczna . W efekcie ta metoda „wie”, że i, stosując obserwowane relacje z regresorami (takie jak rozmiar), dopasowuje (nieco arbitralne) wartości do każdej kategorii, która szanuje porządek.A<B<<J<

Jako przykład rozważ 30 par (wielkość, kategoria liczebności) wygenerowanych jako

size = (1/2, 3/2, 5/2, ..., 59/2)
e ~ normal(0, 1/6)
abundance = 1 + int(10^(4*size + e))

z liczebnością podzieloną na przedziały [0,10], [11,25], ..., [10001,25000].

Wykres rozrzutu kategorii liczebności a wielkość

Uporządkowana regresja logistyczna wytwarza rozkład prawdopodobieństwa dla każdej kategorii; rozkład zależy od wielkości. Na podstawie takich szczegółowych informacji można uzyskać szacunkowe wartości i odstępy wokół nich. Oto wykres 10 plików PDF oszacowanych na podstawie tych danych (oszacowanie dla kategorii 10 nie było możliwe z powodu braku danych):

Gęstości prawdopodobieństwa według kategorii

Ciągłe rozwiązanie

Dlaczego nie wybrać wartości liczbowej reprezentującej każdą kategorię i zobaczyć niepewność dotyczącą prawdziwej obfitości w kategorii jako część terminu błędu?

Możemy to przeanalizować jako dyskretne przybliżenie do wyidealizowanego ponownego wyrażenia które przekształca wartości liczebności na inne wartości dla których błędy obserwacyjne są, w dobrym przybliżeniu, symetrycznie rozłożone i mniej więcej tej samej oczekiwanej wielkości niezależnie od (transformacja stabilizująca wariancję).faf(a)a

Aby uprościć analizę, załóżmy, że kategorie zostały wybrane (w oparciu o teorię lub doświadczenie), aby osiągnąć taką transformację. Możemy zatem założyć, że ponownie wyraża kategorii jako ich indeksy . Propozycja na wybraniu pewnej „charakterystycznej” wartości w ramach każdej kategorii i zastosowaniu jako wartości liczbowej obfitości, ilekroć zaobserwuje się obfitość między a . Byłby to wskaźnik zastępczy dla poprawnie ponownie wyrażonej wartości .fαiiβiif(βi)αiαi+1f(a)

Załóżmy więc, że bogactwo jest obserwowany z powodu błędu tak, że hipotetyczny punkt odniesienia ma rzeczywiście zamiast . Błąd popełniony przy kodowaniu tego jako jest z definicji różnicą , którą możemy wyrazić jako różnicę dwóch terminówεa+εaf(βi)f(βi)f(a)

error=f(a+ε)f(a)(f(a+ε)f(βi)).

Ten pierwszy termin, , jest kontrolowany przez (nie możemy nic zrobić z ) i pojawiłby się, gdybyśmy nie sklasyfikowali obfitości. Drugi termin jest losowy - zależy od ewidentnie jest skorelowany z . Ale możemy coś o tym powiedzieć: musi znajdować się między a . Ponadto, jeśli wykonuje dobrą robotę, drugi termin może być w przybliżeniu równomiernie rozłożony. Oba rozważania sugerują wybranie , abyf(a+ε)f(a)fεεεif(βi)<0i+1f(βi)0fβif(βi)leży w połowie drogi między a ; to znaczy, .ii+1βif1(i+1/2)

Te kategorie w tym pytaniu tworzą w przybliżeniu geometryczny postęp, co wskazuje, że jest nieco zniekształconą wersją logarytmu. Dlatego powinniśmy rozważyć użycie geometrycznych średnich punktów końcowych przedziału do przedstawienia danych o obfitości .f

Zwykła regresja metodą najmniejszych kwadratów (OLS) w tej procedurze daje nachylenie 7,70 (błąd standardowy wynosi 1,00) i przecięcie 0,70 (błąd standardowy wynosi 0,58), zamiast nachylenia 8,19 (se 0,97) i przecięcie 0,69 (se 0,56) podczas regresji dzienników liczebności względem wielkości. Oba wykazują regresję do średniej, ponieważ teoretyczne nachylenie powinno być bliskie . Metoda jakościowa wykazuje nieco większą regresję do średniej (mniejsze nachylenie) ze względu na dodatkowy błąd dyskretyzacji, zgodnie z oczekiwaniami.4log(10)9.21

Wyniki regresji

Ten wykres pokazuje niesklasyfikowane obfitości wraz z dopasowaniem na podstawie skategoryzowanych obfitości (przy użyciu geometrycznych środków punktów końcowych kategorii zgodnie z zaleceniami) oraz dopasowanie na podstawie samych obfitości. Pasowania są wyjątkowo bliskie, co wskazuje, że ta metoda zastępowania kategorii odpowiednio dobranymi wartościami liczbowymi działa dobrze w tym przykładzie .

Zazwyczaj należy zachować ostrożność przy wyborze odpowiedniego „punktu środkowego” dla dwóch skrajnych kategorii, ponieważ często nie jest tam ograniczony. (W tym przykładzie z grubsza przyjąłem lewy punkt końcowy pierwszej kategorii jako a nie a prawy punkt końcowy ostatniej kategorii to ). Jednym rozwiązaniem jest rozwiązanie problemu za pomocą danych, które nie należą do żadnej z ekstremalnych kategorii , następnie użyj dopasowania, aby oszacować odpowiednie wartości dla tych ekstremalnych kategorii, a następnie cofnij się i dopasuj wszystkie dane. Wartości p będą nieco za dobre, ale ogólnie dopasowanie powinno być dokładniejsze i mniej stronnicze.βif1025000

Whuber
źródło
+1 doskonała odpowiedź! Szczególnie podoba mi się opis 2 różnych opcji wraz z ich uzasadnieniami. Wydaje mi się, że nacisk należy kłaść na dzienniku obfitości, a nie wielkości, co również było moją myślą. Jedno pytanie, w części 1, stwierdzasz „możesz wytworzyć szacunkowe wartości i odstępy wokół nich”. Jak to zrobić?
gung - Przywróć Monikę
Dobre pytanie, @gung. Prostym sposobem, który może być skuteczny, jest traktowanie kategorii jako danych o wartościach przedziałowych, a uporządkowane wyniki logitów zapewniają (dyskretny) rozkład w tych przedziałach dla dowolnej wartości „rozmiaru”. Wynikiem jest rozkład wartości przedziałowych, który będzie miał średnią wartości przedziałów i granice ufności wartości przedziałowych.
whuber
3
@ Whuber, warto wspomnieć o opcjach oprogramowania. Domyślam się, że użyłeś Staty (jeśli jestem odpowiednio wyszkolony do tworzenia wykresów Stata i mówienia im z wykresów R i SAS), gdzie ten model jest wyposażony ologit. W R, można to zrobić polrw MASSopakowaniu.
StasK,
1
Masz rację, @Stask. Dzięki za odniesienie do rozwiązania R. (Wszystkie wykresy są domyślnymi wykresami w Stata 11; dostosowano tylko legendę i style linii w ostatnim, ponieważ inaczej czerwono-zielone rozróżnienie mogłoby być
niewidoczne
2
@StasK rms::lrmi porządkowej ( clmpakiet) są również dobre opcje.
chl
2

Rozważ użycie logarytmu wielkości.

Ma ZAKOŃCZENIE - Anony-Mus
źródło
Ha - Ta odpowiedź wywołała częściową twarz dłoni. To prawda, że ​​rozwiązuje problem skali - ale wciąż pod ręką: kategoryzować czy nie, i do której liczby przypisać „wartość”. Jeśli te pytania są nieistotne, poradzę sobie również z tym.
Trees4theForest,
1
Cóż, łączyłeś różne problemy w jeden. Dane, które posiadasz, wydają się mieć większy sens w skali logarytmicznej. To, czy chcesz zrobić binowanie, czy nie, to osobne pytanie, a ja mam tylko kolejną odpowiedź: zależy od twoich danych i tego, co chcesz osiągnąć. Jest jeszcze jedno ukryte pytanie: jak obliczyć różnicę między interwałami - obliczyć różnicę ich średnich? lub minimalna odległość (wtedy A do B będzie wynosić 0, B do C będzie wynosić 0, ale A do C nie będzie). itp.
Ma ZAKOŃCZENIE - Anony-Mousse,
Dobre punkty, zaktualizowałem swoje pytanie o więcej informacji, aby osiągnąć cele. Jeśli chodzi o różnicę w interwałach, myślę, że to moje pytanie - jakie byłyby względne zalety / wady obliczania interwału na podstawie różnicy średnich, minimalnej odległości, maksymalnej odległości, odległości między minutami, odległości między maksymalnymi wartościami itp. Wszelkie porady na jakie rzeczy muszę się zastanowić, aby podjąć tę decyzję (a nawet jeśli trzeba ją wziąć pod uwagę) byłoby świetnie.
Trees4theForest,
Istnieje wiele innych opcji. Na przykład, aby wyeliminować wszystkie efekty skali, możesz zamiast tego spróbować przewidzieć pozycję w rankingu. Poza tym chodzi o pomiary błędów. Biorąc logarytm, zwykle ważymy również błędy w ten sposób. Tak więc, gdy prawdziwa wartość wynosi 10000, a przewidywana wartość wynosi 10100, jest to znacznie mniej niż w przypadku, gdy przewidywana wartość wynosi 1, a prawdziwa wartość wynosi 101. Dodatkowo wykonując binowanie i obliczając wartość Mindist między pojemnikami, miałbyś nawet małą wagę błędy z 0.
Ma ZAKOŃCZENIE - Anony-Mousse