Pitanje:
Kako trebam transformirati negativne podatke, uključujući nule?
Rob Hyndman
2010-08-09 18:57:52 UTC
view on stackexchange narkive permalink

Ako imam jako iskrivljene pozitivne podatke, često uzimam zapisnike. Ali što bih trebao učiniti s jako iskrivljenim nenegativnim podacima koji uključuju nule? Vidio sam dvije korištene transformacije:

  • $ \ log (x + 1) $ koja ima urednu značajku da se 0 preslikava na 0.
  • $ \ log (x + c) $ gdje je c ili procijenjeno ili postavljeno kao neka vrlo mala pozitivna vrijednost.

Postoje li neki drugi pristupi? Postoje li dobri razlozi za preferiranje jednog pristupa nad ostalima?

Sažeo sam neke odgovore i neke druge materijale na http://robjhyndman.com/researchtips/transformations/
izvrstan način za transformaciju i promociju stat.stackoverflow!
Da, slažem se s @robingirard (upravo sam stigao ovdje zbog Robovog posta na blogu)!
Također pogledajte http://stats.stackexchange.com/questions/39042/how-should-i-handle-a-left-censored-predictor-variable-in-multiple-regression za aplikaciju na lijevo cenzurirane podatke (što može biti karakterizirani, do pomaka mjesta, točno kao u ovom pitanju).
Ovo je pitanje također relevantno za ovu raspravu: [Koliko malu količinu treba dodati u x kako bi se izbjeglo uzimanje dnevnika nule] (http://stats.stackexchange.com/questions/30728/).
Čini se čudnim pitati se o tome kako se transformirati, a da uopće niste naveli svrhu transformacije.Kakva je situacija?Zašto je potrebno transformirati?Ako ne znamo što pokušavate postići, kako razumno možemo predložiti * bilo što *?(Jasno je da se ne može nadati da će se transformirati u normalnost, jer postojanje (ne-nule) vjerojatnosti točnih nula podrazumijeva skok u raspodjeli pri nuli, koji bod neće ukloniti nikakva transformacija - može ga samo pomicati.)
Igrao sam se s logom (x + d) -c, gdje je c = pod (dnevnik (najmanja-ne-nulta vrijednost)) i d = exp (c).Ovo također ima značajku da se 0 preslika na 0. Međutim, pokušavao sam protumačiti koeficijente koji proizlaze iz ovog modela, i imao sam problema - Konkretno, značajka log-linearnog modela na kontinuiranom prediktoru X gdje promjena X za 1 jedinicu dovodiista postotna promjena Y, bez obzira na odabir X i X + 1 - čini se da ovo više ne vrijedi zbog male prilagodbe.Iz tog razloga počinjem sumnjati da su donje alternativne transformacije superiornije.
Dvanaest odgovori:
#1
+88
Rob Hyndman
2010-08-13 09:27:16 UTC
view on stackexchange narkive permalink

Nitko nije spomenuo inverznu hiperboličku transformaciju sinusa. Dakle, radi cjelovitosti dodajem ga ovdje.

Ovo je alternativa Box-Cox transformacijama i definirano je \ begin {jednadžbom} f (y, \ theta) = \ text {sinh} ^ {-1} (\ theta y) / \ theta = \ log [\ theta y + (\ theta ^ 2y ^ 2 + 1) ^ {1/2}] / \ theta, \ end {jednadžba} gdje je $ \ theta > 0 $. Za bilo koju vrijednost $ \ theta $, nula se preslikava na nulu. Tu je i dvoparametarska verzija koja omogućuje pomak, baš kao i dvoparametarska BC transformacija. Burbidge, Magee i Robb (1988) raspravljaju o IHS transformaciji, uključujući procjenu $ \ theta $.

IHS transformacija djeluje s podacima definiranim na cijeloj stvarnoj liniji, uključujući negativne vrijednosti i nule. Za velike vrijednosti $ y $ ponaša se poput transformacije dnevnika, bez obzira na vrijednost $ \ theta $ (osim 0). Ograničavajući slučaj kao $ \ theta \ rightarrow0 $ daje $ f (y, \ theta) \ rightarrow y $.

Čini mi se da bi IHS transformacija trebala biti puno poznatija nego što jest.

Izgleda kao dobra alternativa $ tanh $ / logističkim transformacijama
Čini se da se oko IHS-a neki ne slažu: http://onlinelibrary.wiley.com/doi/10.1890/10-0340.1/abstract
Taj rad govori o inverznoj transformaciji sinusa, a ne o inverznom hiperboličkom sinusu.
#2
+59
user28
2010-08-09 19:22:11 UTC
view on stackexchange narkive permalink

Čini mi se da je najprikladniji izbor transformacije ovisan o modelu i kontekstu.

Točka '0' može nastati iz nekoliko različitih razloga, od kojih se svaki može različito tretirati:

  • Skraćivanje (kao u Robinovom primjeru): Koristite odgovarajuće modele ( npr. smjese, modeli preživljavanja itd.)
  • Podaci koji nedostaju: Podaci o imputiranju / opažanja ispuštanja ako je potrebno.
  • Prirodna nulta točka (npr. razina dohotka; nezaposlena osoba ima nula dohotka): Transformirajte prema potrebi
  • Osjetljivost mjernog instrumenta: Možda, dodajte malu količinu podataka?

Zapravo ne nudim odgovor jer sumnjam da ne postoji univerzalni, 'ispravna' transformacija kada imate nule.

Svaki odgovor na moje pitanje pružio je korisne informacije i sve sam ih glasao. Ali mogu odabrati samo jedan odgovor, a Srikantov pruža najbolji pregled IMO-a.
Također imajte na umu da postoje modeli s napuhavanjem nulom (dodatne nule i vi brinete o nekim nulama: model mješavine) i modeli s preprekama (nule i brinete se o nulama: dvostupanjski model s početnim cenzuriranim modelom).
#3
+44
whuber
2010-08-17 23:48:40 UTC
view on stackexchange narkive permalink

Korisni pristup kada se varijabla koristi kao neovisni faktor u regresiji je zamjena s dvije varijable: jedna je binarni pokazatelj je li nula, a druga je vrijednost izvorne varijable ili ponovni izraz toga, kao što je njegov logaritam. O ovoj se tehnici govori u knjizi Hosmer & Lemeshow o logističkoj regresiji (i na drugim mjestima, siguran sam). Presječeni grafikoni vjerojatnosti pozitivnog dijela izvorne varijable korisni su za identificiranje odgovarajućeg ponovnog izraza. (Za primjere pogledajte analizu na https://stats.stackexchange.com/a/30749/919.)

Kada je varijabla ovisna u linearnom modelu, cenzurirana regresija (poput Tobit) može biti korisna, ponovno otklanjajući potrebu za stvaranjem započetog logaritma. Ova je tehnika česta među ekonometrima.

Je li modeliranje podataka kao nula napuhanog Poissona poseban slučaj ovog pristupa?
@David,, iako se čini sličnim, nije, jer ZIP je model * ovisne * varijable, a ne neovisne varijable.
@whuber * O ovoj se tehnici govori u knjizi Hosmer & Lemeshow o logističkoj regresiji * Jeste li kojim slučajem znali u kojem poglavlju razgovaraju o ovoj tehnici?Gledam njihovu knjigu, ali čini mi se da ne mogu pronaći pravu stranicu ...
Tada mi je @landroni H&L bio svjež u mislima, pa sam uvjeren da u toj knjizi postoji * nešto * vezano uz ovu temu.(Savjetovao sam se s njim da bih razvio neke vrlo velike regresijske modele i mnoge su neovisne varijable morale biti tretirane na ovaj način.) Međutim, ni u ovom trenutku ne mogu pronaći referencu.O ovoj tehnici sam pisao u sljedećim postovima, u slučaju da tražite detalje.Dvije koje se prikazuju u pretraživanju web mjesta nalaze se na http://stats.stackexchange.com/questions/6563 i http://stats.stackexchange.com/questions/4831.
@whuber * dvije varijable: jedna je binarni pokazatelj je li nula, a druga je vrijednost izvorne varijable * Pomalo sam zbunjena u pogledu pravilne parametrizacije u ovoj tehnici.I ovdje (kao i u [ovom odgovoru] (http://stats.stackexchange.com/a/4833/36515)) predlažete da bi lutka trebala biti "jednaka 1 kad je $ x = 0 $, a u suprotnom 0".Dok je u [ovom drugom odgovoru] (http://stats.stackexchange.com/a/6565/36515), lutka uzima 1 kad je x x> 0 $ i 0 kada je x x = 0 $.Jesu li dvije formulacije ekvivalentne?
@landroni Da, ekvivalentni su, na isti način na koji su ekvivalentna sva numerička kodiranja bilo koje binarne varijable.Odaberite onu koju smatrate najprikladnijom za tumačenje.
#4
+39
ars
2010-08-09 21:43:49 UTC
view on stackexchange narkive permalink

Transformacije dnevnika s pomacima posebni su slučajevi Box-Coxove transformacije:

$ y (\ lambda_ {1}, \ lambda_ {2}) = \ begin {slučajevi} \ frac {(y + \ lambda_ {2}) ^ {\ lambda_1} - 1} {\ lambda_ {1}} & \ mbox {kada} \ lambda_ {1} \ neq 0 \\ \ log (y + \ lambda_ {2}) & \ mbox {when} \ lambda_ {1} = 0 \ end {case} $

Ovo su prošireni obrazac za negativne vrijednosti, ali također primjenjivi na podatke koji sadrže nule. Box i Cox (1964.) predstavljaju algoritam za pronalaženje odgovarajućih vrijednosti za $ \ lambda $ koristeći maksimalnu vjerojatnost. To vam daje konačnu transformaciju.

Razlog za preferiranje Box-Coxove transformacije je taj što su razvijene kako bi se osigurale pretpostavke za linearni model. Učinjeno je nešto da se pokaže da, čak i ako se vaši podaci ne mogu transformirati u normalu, procijenjeni $ \ lambda $ i dalje vode do simetrične raspodjele.

Nisam siguran koliko se to dobro odnosi na vaše podatke, budući da bi to moglo biti $ \ lambda = (0, 1) $ što je samo transformacija dnevnika koju ste spomenuli, ali možda bi bilo vrijedno procijeniti tražene $ \ lambda $ -e kako biste vidjeli je li prikladna neka druga transformacija.

U R, funkcija boxcox.fit u paketu geoR izračunat će parametre umjesto vas.

@ars. Mislim da funkcija `boxcox` u MASS-u procjenjuje samo $ \ lambda_1 $ i pretpostavlja $ \ lambda_2 = 0 $.
@Rob: Oh, oprosti. DigG-ov geoR je pravi put, ali navedite `lambda2 = TRUE` u argumentima za` boxcox.fit`. (Također ažuriran odgovor.)
Za svakoga tko ovo pročita pitajući se što se dogodilo s ovom funkcijom, ona se sada naziva `boxcoxfit`.
#5
+19
csgillespie
2010-08-10 14:29:15 UTC
view on stackexchange narkive permalink

Pretpostavljam da je nula! = nedostaju podaci, jer je to sasvim drugo pitanje.

Kada razmišljam o tome kako postupati s nulama u višestrukoj linearnoj regresiji, nastojim razmotriti koliko nula zapravo imamo imati?

Samo nekoliko nula

Ako imam jednu nulu u razumno velikom skupu podataka, nastojim:

  • Uklonite točku, uzmite zapisnike i uklopite model
  • Dodajte mali $ c $ točki, uzmite zapisnike i uklopite model
  • Odgovara li model promjeni? Što je s vrijednostima parametara? Ako je model prilično robustan za uklanjanje točke, odlučit ću se za brzi i prljavi pristup dodavanju $ c $ .

    Vi mogao bi ovaj postupak učiniti malo manje surovim i upotrijebiti boxcox metodu sa pomacima opisanima u odgovoru arsa.

    Veliki broj nula

    Ako je moj skup podataka sadrži velik broj nula, to sugerira da jednostavna linearna regresija nije najbolji alat za posao. Umjesto toga, koristio bih nešto poput modeliranja smjese (kako su predložili Srikant i Robin).

    #6
    +16
    user856
    2010-08-11 01:48:12 UTC
    view on stackexchange narkive permalink

    Ako želite nešto brzo i prljavo, zašto ne biste koristili kvadratni korijen?

    A često transformacija korijena kocke dobro funkcionira i dopušta nule i negative. Otkrio sam da korijen kocke posebno dobro djeluje kada je, na primjer, mjerenje volumen ili broj čestica u jedinici volumena. Korijen kocke pretvorio bi ga u linearnu dimenziju. Fleksibilniji pristup je postavljanje ograničenog kubnog zavoja (prirodni zavoj) na korijen kocke ili kvadratni korijen, što omogućuje malo odstupanje od pretpostavljenog oblika.
    +1. Mali članak o korijenima kockica potražite na http://www.stata-journal.com/article.html?article=st0223 (Ovo će biti besplatni .pdf od prvog tromjesečja 2014.)
    Kvadratni korijen od nule je nula, pa se transformiraju samo vrijednosti koje nisu nula.To ne donosi ništa protiv šiljka, ako je nula napuhana, i može uzrokovati ozbiljne probleme ako, u skupinama, svaka ima različitu količinu nula.Drugim riječima, ako neke skupine imaju mnogo nula, a druge malo, ova transformacija može negativno utjecati na mnoge stvari.Za skupinu s najvećom varijancom (koja je također imala najmanje nule), gotovo sve vrijednosti se transformiraju.Suprotno tome, kod onih s najviše nula, ne mijenja se puno vrijednosti.To može promijeniti koja skupina ima najveće odstupanje.
    Nijedna transformacija neće zadržati varijancu u slučaju koji je opisao @D_Williams.Modeli smjese (spomenuti negdje drugdje u ovoj temi) vjerojatno bi bili dobar pristup u tom slučaju.
    #7
    +11
    Firebug
    2016-07-05 18:57:32 UTC
    view on stackexchange narkive permalink

    Usporedba odgovora koji je pružio @RobHyndman s transformacijom log-plus-one proširenom na negativne vrijednosti s oblikom:

    $$ T (x) = \ text {sign} (x) \ cdot \ log {\ left (| x | +1 \ right)} $$

      r = -1000: 1000l = znak (r) * log1p (abs (r)) l = l / max (l) plot (r, l, type = "l", xlab = "Original", ylab = "Transformed", col = Adjustcolor ("red", alpha = 0.5), lwd = 3) # Umjeravamo oba uklopiti (-1,1) za (i u exp (seq (-10, 100, 10))) {s = asinh (i * r) s = s / max (s) linija (r, s, col = Adjucolor ("plava", alfa = 0,2), lwd = 3)} legenda ("topleft", c ("asinh (x)", "log (x) log (abs (x) +1)"), col = c ("plava", "crvena"), lty = 1)  

    Kao što vidite, kako $ \ theta $ više raste, transformacija izgleda kao funkcija koraka. S $ \ theta \ približno 1 $ izgleda puno poput transformacije log-plus-one. A kad se $ \ theta \ rightarrow 0 $ približi liniji.

    enter image description here


    UREDI: Imajte na umu da se pretvorba dnevnika može biti slično promijenjen u proizvoljnom mjerilu, sa sličnim rezultatima. Samo sam želio pokazati što $ \ theta $ daje slične rezultate na temelju prethodnog odgovora. Najveća razlika između oba pristupa je područje blizu $ x = 0 $, što možemo vidjeti po njihovim izvedenicama.

    #8
    +10
    robin girard
    2010-08-09 19:05:50 UTC
    view on stackexchange narkive permalink

    Pretpostavljam da imate kontinuirane podatke.

    Ako podaci uključuju nule , to znači da imate skok na nuli što je možda posljedica nekog određenog aspekta vaših podataka. Čini se, na primjer, u energiji vjetra, vjetar ispod 2 m / s proizvodi nultu snagu (naziva se prekid), a vjetar preko (nešto oko) 25 m / s također proizvodi nultu snagu (iz sigurnosnih razloga naziva se prekinutim) . Iako se raspodjela proizvedene energije vjetra čini kontinuiranom, skok je nula.

    Moje rješenje: U ovom slučaju predlažem da se nule tretiraju odvojeno radeći sa smjesom šiljka u nuli i modela koji ste planirali koristiti za dio distribucija koja je kontinuirana (wrt Lebesgue).

    #9
    +9
    Max Ghenis
    2013-05-29 01:50:14 UTC
    view on stackexchange narkive permalink

    Budući da je predloženo dvoparametarsko uklapanje Box-Coxa, evo nekoliko R za uklapanje ulaznih podataka, pokretanje proizvoljne funkcije na njima (npr. predviđanje vremenskih serija), a zatim povratak obrnutog rezultata:

      # Dvoparametarska Box-Cox functionboxcox.f <- funkcija (x, lambda1, lambda2) {if (lambda1! = 0) {return (((x + lambda2 ) ^ lambda1 - 1) / lambda1)} else {return (log (x + lambda2))}} # Dvoparametarska inverzna Box-Cox functionboxcox.inv <- funkcija (x, lambda1, lambda2) {if (lambda1! = 0) {return ((lambda1 * x + 1) ^ (1 / lambda1) - lambda2)} else {return (exp (x) - lambda2)}} # Funkcija na Box-Coxovu transformaciju x, primijeniti funkciju g, # i vrati obrnuti Box-Cox izlaz yboxcox.fit.apply <- funkcija (x, g) {zahtijeva (geoR) require (plyr) # Uklopi lambdase t <- probaj (lambda.pair <- boxcoxfit (x, lambda2 = T) $ lambda) # Procjena obje lambde ponekad ne uspije; ako je tako, procijenite lambda1 samo ako (nasljeđuje (t, "pokušaj pogreške")) {lambda1 <- boxcoxfit (x) $ lambda lambda2 <- 0} else {lambda1 <- lambda.pair [1] lambda2 <- lambda2. par [2]} x.boxcox <- boxcox.f (x, lambda1, lambda2) # Primijeni funkciju g na x.boxcox. Ovo bi trebalo vratiti podatke slične x (npr. Ts) y <-aaply (x.boxcox, 1, g) return (boxcox.inv (y, lambda1, lambda2))}  
    #10
    +6
    Matt Dancho
    2018-02-18 22:48:16 UTC
    view on stackexchange narkive permalink

    Yeo-Johnsonova transformacija snage o kojoj se raspravlja ovdje ima izvrsna svojstva dizajnirana za rukovanje nulama i negativima, nadovezujući se na snage Box Coxove transformacije snage. To je ono na što obično idem kad imam posla s nulama ili negativnim podacima.

    Evo sažetka transformacija s prednostima i nedostacima da bismo ilustrirali zašto je Yeo-Johnson poželjniji.

    Log

    Pros: Dobro se slaže s pozitivnim podacima.

    Protiv: Ne obrađuje nule.

      > log (0)
    [1] -Inf
     

    Log Plus 1

    Pros: Pomak plus 1 dodaje mogućnost obrade nula uz pozitivne podatke.

    Cons: Neuspjeh s negativnim podacima

      > log1p (-1)
    [1] -Inf
    > log1p (-2)
    [1] NaN
    Poruka upozorenja:
    U log1p (-2): proizvedeni NaN
     

    Square Root

    Pros: koristi transformaciju snage koja može obrađivati ​​nule i pozitivne podatke.

    Cons: Neuspjeh s negativnim podacima

      > sqrt (-1)
    [1] NaN
    Poruka upozorenja:
    U sqrt (-1): proizvedeni NaN
     

    Box Cox

    R kod:

      box_cox <- funkcija (x, lambda) {
    
        eps <- 0,00001
        if (abs (lambda) < eps)
            zapisnik (x)
        drugo
            (x ^ lambda - 1) / lambda
    
    }
     

    Pros: Omogućuje skalirane transformacije snage

    Protiv: pati od problema s nulama i negativima (tj. može se nositi samo s pozitivnim podacima.

      > box_cox (0, lambda = 0)
    [1] -Inf
    > box_cox (0, lambda = -0,5)
    [1] -Inf
    > box_cox (-1, lambda = 0,5)
    [1] NaN
     

    Yeo Johnson

    R kod:

      yeo_johnson <- funkcija (x, lambda) {
    
        eps <- .000001
        not_neg <- koji (x > = 0)
        is_neg <- koji (x < 0)
    
        not_neg_trans <- funkcija (x, lambda) {
            if (abs (lambda) < eps) log (x + 1)
    else ((x + 1) ^ lambda - 1) / lambda
        }
    
        neg_trans <- funkcija (x, lambda) {
            if (abs (lambda - 2) < eps) - log (-x + 1)
            else - ((-x + 1) ^ (2 - lambda) - 1) / (2 - lambda)
        }
    
        x [not_neg] <- not_neg_trans (x [not_neg], lambda)
    
        x [is_neg] <- neg_trans (x [is_neg], lambda)
    
        povratak (x)
    
    }
     

    Pros: Može obraditi pozitivne, nulte i negativne podatke.

    Protiv: Nijedne koje se mogu sjetiti.Svojstva su vrlo slična Box-Coxu, ali mogu obrađivati nulte i negativne podatke.

      > yeo_johnson (0, lambda = 0)
    [1] 0
    > yeo_johnson (0, lambda = -0,5)
    [1] 0
    > yeo_johnson (-1, lambda = 0,5)
    [1] -1,218951
     
    Protiv Yeo – Johnsona: složena, odvojena transformacija za pozitivne i negativne strane te za vrijednosti s obje strane lambde, čarobna vrijednost podešavanja (epsilon; a što je lambda?).Nema očigledne prednosti u usporedbi s jednostavnijom negativno-proširenom transformacijom dnevnika prikazanom u Firebugovom odgovoru, osim ako nisu potrebne skalirane transformacije snage (kao u Box-Coxu).
    #11
    +5
    rolando2
    2014-02-01 08:37:06 UTC
    view on stackexchange narkive permalink

    Pretpostavimo da je Y iznos novca koji svaki Amerikanac potroši na novi automobil u određenoj godini (ukupna nabavna cijena). Y će skočiti na 0; uopće neće imati vrijednosti između 0 i oko 12 000; i poprimit će druge vrijednosti uglavnom u tinejdžerima, dvadesetim i tridesetim tisućama. Prediktori bi bili opunomoćenici za razinu potrebe i / ili interesa za takvu kupnju. Teško bi se moglo reći da je potreba ili kamata nula za pojedince koji nisu obavili kupnju; na tim bi ljestvicama ne-kupci bili puno bliži kupcima nego što bi to Y ili čak i dnevnik Y-a sugerirao. U slučaju sličnom ovom, ali u zdravstvu, otkrio sam da su najtočnija predviđanja, suđena prema unakrsnoj provjeri skupa testova / treninga, dobivena, u sve većem redoslijedu,

    1. Logistička regresija na binarnoj verziji Y,
    2. OLS na Y,
    3. Redovna regresija (PLUM) na Y binned u 5 kategorija (kako bi se kupci podijelili u 4 grupe jednake veličine),
    4. Multinomna logistička regresija na Y uvrštena je u 5 kategorija,
    5. OLS na zapisnik (10) Y (nisam mislio isprobati korijen kocke) i
    6. OLS na Y uvršten je u 5 kategorija.

    Neki će ustuknuti pri ovoj kategorizaciji kontinuirane ovisne varijable. No, iako žrtvuje neke podatke, čini se da kategorizacija pomaže obnavljanjem važnog temeljnog aspekta situacije - opet, da su "nule" mnogo sličnije ostalim nego što bi to Y naznačio.

    Možete ga podijeliti i na dva modela: vjerojatnost kupnje automobila (binarni odgovor) i vrijednost automobila s obzirom na kupnju. To je uobičajena praksa u mnogim poljima, npr. Osiguranje, kreditni rizik itd.
    @HongOoi - možete li predložiti čitanja kada je ovaj pristup, a koji nije primjenjiv?
    #12
    +1
    Christophe Bellégo
    2019-10-04 17:51:15 UTC
    view on stackexchange narkive permalink

    Da bismo pojasnili kako postupati s dnevnikom nule u regresijskim modelima, napisali smo pedagoški rad u kojem objašnjavamo najbolje rješenje i uobičajene pogreške koje ljudi čine u praksi. Također smo izašli s novim rješenjem za rješavanje ovog problema.

    Rad možete pronaći klikom ovdje: https://ssrn.com/abstract=3444996

    Prvo, mislimo da bi se ljudi trebali zapitati zašto koristiti transformaciju dnevnika. U regresijskim modelima odnos log-log dovodi do identifikacije elastičnosti. Doista, ako je $ \ log (y) = \ beta \ log (x) + \ varepsilon $ , onda $ \ beta $ odgovara elastičnosti $ y $ na $ x $ . Dnevnik također može linearizirati teorijski model. Također se može koristiti za smanjenje heteroskedastičnosti. Međutim, u praksi se često dogodi da varijabla uzeta u zapisnik sadrži pozitivne vrijednosti.

    Često se predlaže rješenje sastoji se u dodavanju pozitivne konstante c svim opažanjima $ Y $ tako da $ Y + c > 0 $ . Međutim, suprotno linearnim regresijama, log-linearna regresije nisu robusne linearnoj transformaciji ovisne varijable. Ovaj je zbog nelinearne prirode funkcije dnevnika. Transformacija dnevnika širi se nisko vrijednosti i istiskuje visoke vrijednosti. Stoga će dodavanje konstante iskriviti (linearno) odnos nula i ostalih opažanja u podacima. Veličina pristranost generirana konstantom zapravo ovisi o opsegu promatranja u podaci. Iz tog razloga dodavanje najmanje moguće konstante nije nužno najbolje najgore rješenje.

    U našem članku zapravo pružamo primjer gdje dodavanje vrlo malih konstanti zapravo pruža najveću pristranost. Pružamo izvođenje pristranosti.

    Zapravo, Poissonova pseudo maksimalna vjerojatnost (PPML) može se smatrati dobrim rješenjem ovog problema. Treba uzeti u obzir sljedeći postupak:

    $ y_i = a_i \ exp (\ alpha + x_i '\ beta) $ s $ E (a_i | x_i ) = 1 $

    Ovaj je postupak motiviran nekoliko značajki. Prvo, pruža isto tumačenje do $ \ beta $ kao model poludnevnika. Drugo, ovaj postupak generiranja podataka pruža logiku racionalizacija nultih vrijednosti u zavisnoj varijabli. Ova situacija može nastati kada pojam multiplikativne pogreške, $ a_i $ , jednak je nuli. Treće, procjena ovog modela s PPML-om ne nailazi na računske poteškoće kada $ y_i = 0 $ . Pod pretpostavkom da je $ E (a_i | x_i) = 1 $ , imamo $ E (y_i - \ exp (\ alfa + x_i '\ beta) | x_i) = 0 $ . Želimo minimalizirati kvadratnu pogrešku ovog trenutka, što dovodi do sljedećih uvjeta prvog reda:

    $ \ sum_ {i = 1} ^ N (y_i - \ exp (\ alpha + x_i '\ beta)) x_i' = 0 $

    Ti su uvjeti definirani čak i kada $ y_i = 0 $ . Ti su uvjeti prvog reda numerički jednaki onima Poissonovog modela, pa se mogu procijeniti bilo kojim standardnim statističkim softverom.

    Konačno, predlažemo novo rješenje koje je također lako implementirati i koje pruža nepristrani procjenitelj $ \ beta $ . Jednostavno treba procijeniti:

    $ \ log (y_i + \ exp (\ alpha + x_i '\ beta)) = x_i' \ beta + \ eta_i $

    Pokazujemo da je ovaj procjenjivač nepristran i da ga se jednostavno može procijeniti pomoću GMM-a pomoću bilo kojeg standardnog statističkog softvera. Na primjer, može se procijeniti izvršavanjem samo jednog retka koda pomoću Stata.

    Nadamo se da ovaj članak može pomoći i voljeli bismo dobiti vaše povratne informacije.

    Christophe Bellégo i Louis-Daniel Pape CREST - Ecole Polytechnique - ENSAE



    Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 2.0 licenci pod kojom se distribuira.
    Loading...