Stata 11 Media Mobile
Stata: comando più ovvio di analisi dei dati e software di statistica Nicholas J. Cox, Durham University, UK Christopher Baum, Boston College Egen, ma () e le sue limitazioni Statarsquos per calcolare medie mobili è la funzione ma () di Egen. Data un'espressione, crea una media - periodo movimento di tale espressione. Per impostazione predefinita, viene preso come 3. deve essere dispari. Tuttavia, come l'inserimento manuale indica, Egen, ma () non può essere combinata con by-variabili:. e, per questo motivo, non è applicabile ai dati panel. In ogni caso, si erge al di fuori del set di comandi appositamente scritte per le serie temporali vedi serie storiche per i dettagli. approcci alternativi per calcolare le medie per i dati panel in movimento, ci sono almeno due scelte. Entrambi dipendono l'insieme di dati essendo stato tsset in anticipo. Questo è molto vale la pena di fare: non solo è possibile risparmiare più volte specificando variabile variabile e l'ora del pannello, ma si comporta in modo Stata elegantemente dato eventuali lacune nei dati. 1. Scrivi la tua definizione utilizzando generare Uso degli operatori di serie temporali, come L. e F.. dare la definizione della media mobile come argomento di una dichiarazione di generare. Se si esegue questa operazione, si sta, naturalmente, non limitato alla altrettanto ponderate (non ponderata) centrato medie calcolate da Egen in movimento, ma (). Ad esempio, ugualmente ponderato tre periodo medie mobili sarebbe dato da alcuni pesi e possono essere facilmente specificati: È possibile, ovviamente, specificare un'espressione come log (myvar) al posto di un nome di variabile, come myvar. Un grande vantaggio di questo approccio è che Stata fa automaticamente la cosa giusta per i dati panel: ingresso e uscita valori vengono elaborati all'interno di pannelli, così come la logica impone che dovrebbero essere. Lo svantaggio più evidente è che la linea di comando può ottenere piuttosto lungo se la media mobile coinvolge diversi termini. Un altro esempio è una media mobile unilaterale basata solo su valori precedenti. Questo potrebbe essere utile per generare un'aspettativa di adattamento di quello che una variabile sarà basato esclusivamente su informazioni aggiornate: ciò che qualcuno potrebbe prevedere per l'esercizio in corso sulla base degli ultimi quattro valori, utilizzando uno schema fisso di ponderazione (un ritardo di 4 periodo potrebbe essere soprattutto comunemente usato con timeseries trimestrali.) 2. Usare Egen, filtro () da SSC utilizzare il filtro funzione di egen scritto dall'utente () dal pacchetto egenmore su SSC. In Stata 7 (aggiornato dopo il 14 novembre 2001), è possibile installare questo pacchetto dopo che aiutano punti egenmore ai dettagli del filtro (). I due esempi sopra sarebbe resa (In questo confronto la generano approccio è forse più trasparente, ma vedremo un esempio del contrario in un attimo.) I ritardi sono un numlist. conduce essendo GAL negativi: in questo caso -11 espande a -1 0 1 o portare 1, lag 0, in ritardo 1. I ficients COEF, un'altra numlist, moltiplicare i corrispondenti elementi in ritardo di sviluppo o di leader: in questo caso, tali elementi sono F1.myvar . MyVar e L1.myvar. L'effetto dell'opzione normalizzare è in scala ogni coefficiente per la somma dei coefficienti in modo che coef (1 1 1) normalizzare equivale a coefficienti di 13 13 13 e coef (1 2 1) normalizzare equivale a coefficienti di 14 12 14 . È necessario specificare non solo i ritardi, ma anche i coefficienti. Perché Egen, ma () prevede il caso altrettanto ponderata, la motivazione principale per Egen, filtro () è quello di sostenere il caso ineguale ponderata, per i quali è necessario specificare coefficienti. Si potrebbe anche dire che obbliga gli utenti di specificare coefficienti è un po 'di pressione in più su di loro per pensare a quello coefficienti che vogliono. La giustificazione principale per pesi uguali è, immaginiamo, la semplicità, ma pesi uguali avere pessime proprietà del dominio della frequenza, per citare solo una considerazione. Il terzo esempio di cui sopra potrebbe essere uno dei quali è quasi complicato come l'approccio di generare. Ci sono casi in cui Egen, filtro () fornisce una formulazione più semplice di generare. Se si desidera un filtro binomiale di nove termine, che i climatologi trovano utile, poi guarda forse meno orribile di, e più facile da ottenere rispetto, proprio come con il generare approccio, Egen, filtro () funziona correttamente con dati panel. Infatti, come già detto, esso dipende il set di dati essendo stato tsset anticipo. Un consiglio grafica Dopo aver calcolato i tuoi medie mobili, probabilmente voler guardare un grafico. Il comando tsgraph scritto dall'utente è intelligente su set di dati tsset. Installarlo in un up-to-date Stata 7 da SSC tsgraph Inst. Che dire sottoinsiemi con se nessuno dei precedenti esempi fanno uso di se restrizioni. Infatti Egen, ma () non permetterà, se da specificare. Di tanto in tanto la gente vuole usare se il calcolo medie mobili, ma il suo uso è un po 'più complicato di quanto non sia di solito. Che cosa ci si può aspettare da una media mobile calcolata con se. Cerchiamo di identificare due possibilità: l'interpretazione debole: non voglio vedere nessun risultato per le osservazioni esclusi. Forte interpretazione: io non neanche voglia di utilizzare i valori per le osservazioni esclusi. Ecco un esempio concreto. Supponiamo come conseguenza di una condizione if, osservazioni 1-42 sono inclusi ma non osservazioni 43 su. Ma la media mobile per 42 dipenderà, tra l'altro, sul valore per l'osservazione 43 se la media estende avanti e indietro ed è di lunghezza almeno 3, e sarà simile dipenderà alcune osservazioni 44 in poi in alcune circostanze. La nostra ipotesi è che la maggior parte delle persone sarebbe andare per l'interpretazione deboli, ma se questo è corretto, Egen, filtro () non supporta se uno dei due. È sempre possibile ignorare ciò che si vuole donrsquot o anche impostare valori indesiderati a mancare in seguito utilizzando sostituire. Una nota sui risultati alle estremità della serie mancante Perché medie mobili sono funzioni di ritardi e conduce, egen, MA () produce mancante in cui non esistono i ritardi e conduce, all'inizio e alla fine della serie. Un'opzione nomiss costringe il calcolo delle più brevi, medie mobili non centrati per le code. Al contrario, né generare nè Egen, filtro () lo fa, o consente, nulla di speciale per evitare risultati mancanti. Se uno dei valori necessari per il calcolo è mancante, quindi questo risultato è mancante. Spetta agli utenti di decidere se e quanto la chirurgia correttiva è richiesto per queste osservazioni, presumibilmente dopo aver guardato il set di dati e considerando ogni scienza sottostante che può essere portato a bear. Smoothing: Lowess Lavoreremo con i dati della Colombia WFS Household Survey , condotto nel 1975-76. I tabulati la distribuzione per età di tutti i membri della famiglia e salvato in un file ASCCI, che ora leggiamo e la trama: Come si può vedere, la distribuzione sembra un po 'meno agevole rispetto ai dati provenienti dalle Filippine che abbiamo studiato in precedenza. Si può calcolare l'indice di Myers per questa distribuzione esecuzione di mezzi e linee Il modo più semplice per appianare un grafico a dispersione è quello di utilizzare una media mobile. noto anche come mezzo esecuzione. L'approccio più comune è quello di utilizzare una finestra di 2k 1 osservazioni, k a sinistra e k a destra di ciascuna osservazione. Il valore di k è un compromesso tra morbidezza della bontà di adattamento. Particolare cura deve essere presa agli estremi della gamma. Stata in grado di calcolare i mezzi in esecuzione tramite lowess con le opzioni significano e noweight. Un problema comune con mezzi esecuzione è bias. Una soluzione è quella di utilizzare i pesi che danno più importanza ai vicini più prossimi e meno a quelli più lontani. Una funzione di peso popolare è Tukeys tri-cubo, definito come w (d) (1-d 3) 3 per d lt 1 e 0 altrimenti, dove d è la distanza dal punto di mira espresso come una frazione della larghezza di banda. Stata può fare questo calcolo tramite lowess con l'opzione dire se si omette noweight. Una soluzione ancora migliore è quella di utilizzare le linee di gestione. Definiamo ancora una volta un quartiere per ogni punto, in genere i vicini più vicini k su ogni lato, in forma di una linea di regressione ai punti del quartiere, e quindi utilizzarlo per prevedere un valore più agevole per l'osservazione indice. Questo suona come un sacco di lavoro, ma i calcoli può essere fatto in modo efficiente utilizzando formule di aggiornamento regressione. Stata in grado di calcolare una linea che tramite lowess se si omette media, ma di includere noweight. Meglio ancora è quello di utilizzare le linee di gestione ponderata. dando più peso alle osservazioni più vicini, che è ciò che il più agevole lowess fa. Una variante segue questa stima con poche iterazioni per ottenere una linea più robusta. Questa è chiaramente la migliore tecnica in famiglia. Statas lowess utilizza una linea che parte ponderata Se si omette media e noweight R implementa il lowess agevole attraverso le funzioni lowess () e il più recente loess (), che utilizza un'interfaccia formula con uno o più predittori e un po 'diverse impostazioni predefinite. Il grado parametro controlla il grado del polinomio locale predefinito è 2 per quadratica, alternative sono 1 lineare e 0 per mezzo esecuzione. Entrambe le implementazioni possono utilizzare uno stimatore robusto, con il numero di iterazioni controllate da un iter parametro o iterazioni. Digitare loess e lowess nella console R per ulteriori informazioni. In ggplot () è possibile sovrapporre un lowess agevole chiamando geomsmooth () La figura seguente mostra i dati colombiani e un lowess liscia con un arco o di larghezza di banda pari a 25 dei dati. Si consiglia di provare diversi badwidths per vedere come i risultati variano. Digit Preferenza Revisited Smoothing la distribuzione per età fornisce un modo migliore per valutare la preferenza cifre di Myers miscelazione. Calcoliamo l'ultima cifra di età e tabulare sopra l'intera gamma dei dati utilizzando le frequenze osservate e un lowess agevole. Le frequenze prime presentano tracce di preferenza per età terminano in 0 e 5, che è molto comune, e probabilmente 2 pure. Ora utilizziamo il liscio come peso Le frequenze levigate mostrano che ci aspettiamo che meno persone a cifre più elevate, anche in una distribuzione uniforme, con più fine a 0 a 9. Siamo ora pronti per calcolare un indice di preferenza cifre, definita come la metà del somma delle differenze assolute tra frequenze osservate e lisce: si vede che ci sarebbe bisogno di rimescolare 5.5 delle osservazioni per eliminare le preferenze cifre. Si potrebbe desiderare di confrontare questo risultato con l'indice Myers. copia 2017 Germaacuten Rodriacuteguez, Princeton University Immaginate di avere i dati sui prezzi di molti prodotti. Per ciascuno dei prodotti di registrare informazioni sui prezzi settimanali. serie ben definita OB 200 gen ProdID n Ogni prodotto ha un unico prezzo medio gen prodprice rpoisson (5) 7 Si dispone di dati sui prezzi settimanali per 200 settimane. ampliare 200 BySort prodid: gen tn etichetta var t Week C'è anche qualche variazione stagionale gen .2sin stagionale (pit50) Così come una tendenza generale volta tendenza gen t.005 La prima osservazione non è correlata con qualsiasi cosa gen andamento dei prezzi prodprice2.5 rpoisson (10) 10 se t1 sostituire prezzo di tendenza prodprice2 .7pricen-1 .3rpoisson (10) 10 stagionali se t2 sostituire prezzo tendenza prodprice stagionale .5pricen-1 .2pricen-2 .3rpoisson (10) 10 se t3 sostituire prezzo tendenza prodprice stagionale .3pricen-1 .2pricen-2 .2pricen-3 .3rpoisson (10) 10 se t4 sostituire tendenza prodprice prezzo stagionale .3pricen-1 .175pricen-2 .125pricen-3 .1pricen-4 .3rpoisson (10) 10 se tgt4 Creare un globabl per memorizzare forv twograph globale I 16 twograph globale (prezzo t linea se i ProdID) twoway twograph, leggenda (off) Titolo (andamento dei prezzi vale per primi sei prodotti) Ora lascia immaginare che i dati sopra generato è il vero informazioni sui prezzi che è fondamentalmente inosservabile. Invece si dispone di più raccolte di dati settimanali sui prezzi che ciascun variare di qualche errore addative casuale. ampliare 3 BySort ProdID t: gen. PRODOBS n gen prezzo pricecollect rnormal () 25 Tuttavia le informazioni sui prezzi che si deve ha alcune voci che 10 sono stati erroneamente inseriti sbagliato. gen entryerror rbinomial (1, 0,1) gen scalarerror rnormal () 1 gen priceobs pricecollect (1entryerrorscalarerror) etichetta var priceobs Registrato Prezzo Inoltre, 35 dei vostri dati sui prezzi non è mai stato raccolto gen rbinomial mancante (1, .35) cadere se missing1 Creare un globabl per memorizzare forv twograph globale I 16 twograph globale (linea priceobs t se prodid i amp prodobs1) twoway twograph, leggenda (off) titolo (andamento dei prezzi osservati per primi sei prodotti) tenere t priceobs prodid entryerror sto mantenendo errore di immissione in dati impostati come mezzo di confronto se non sarebbe osservata direttamente. La domanda è: si può ora con questi dati disordinati recuperare i dati prezzo che è simile a quello originale La prima cosa che dovremmo sfruttare sia i dati duplicati registrati. scatter priceobs t se ProdID 1, titolo (E 'facile vedere le singole deviazioni) È facile vedere le singole deviazioni, ma non vogliamo passare attraverso tutti i 200 prodotti per identificare individualmente prezzo valori anomali. Vogliamo venire con un sistema per identificare valori anomali. Consente di generare una media per prodotto e tempo BySort prodid t: Egen pricemean media (priceobs) Consente di bandiera qualsiasi osservazione che è di 120 superiore alla media o 80 meno rispetto alla media. gen bandiera (pricemean gt priceobs1.2 pricemean lt priceobs.8) Vediamo come si sta lavorando: due (priceobs scatter T Se prodid 1) (priceobs scatter T Se prodid 1 amp flag1 msymbol (LGX).). titolo (Alcuni dei valori anomali può essere identificata solo guardando la media) leggenda (off) corr bandiera entryerror La nostra bandiera è correlato su 45 con gli errori di immissione. Questo è un bene, ma possiamo fare meglio. Propongo che invece di usare solo il mezzo che si costruisce una media mobile dei prezzi e vedere come ogni voce devia dalla media. L'unico problema è che il comando media mobile richiede xtset e che richiede solo una voce per periodo di tempo. Quindi, dico che riscala la variabile tempo e aggiungere come se registrato in un altro momento della settimana, il numero di osservazione. Abbiamo bisogno di generare nuova PRODOBS dal momento che non sappiamo che l'osservazione manca da ogni prodotto. BySort prodid t: gen PRODOBS n gen t2 PRODOBS T4 xtset Imposta il riquadro id dati panel e il livello di serie temporali. xtset ProdID T2 Il comando che useremo è tssmooth Si è codificata in modo tale che, specificando ma vuol dire media mobile e la finestra dice Stata quanti periodi di tempo di contare avanti e quanti indietro nella aerage in movimento. Questo comando può prendere un po 'di tempo. tssmooth ma mapriceobspriceobs, la finestra (23 0 23) 23 è in vigore 5 settimane di anticipo e 5 settimane di ritardo rispetto 0 dice Stata non includere inself in quella media la media mobile due (priceobs scatter T Se prodid 1) (linea mapriceobs t se ProdID 1) (linea pricemean t se ProdID 1). titolo (La media mobile è meno succeptable a valori anomali) La media mobile è più stabile solo il tempo medio. Proviamo segnalazione utilizzando la media mobile capolettera flag2 gen flag2 (mapriceobs gt priceobs1.2 mapriceobs lt priceobs.8) due (priceobs scatter T Se ProdID 1) (priceobs dispersione T Se prodid 1 amp flag21. Msymbol (LGX)). titolo (la media mobile può anche essere utile) leggenda (off) corr flag2 entryerror abbassare la caduta di dati contrassegnato se flag21 Collapse alle priceobs livello collasso settimanali, per la (ID Prod t) priceobs etichetta var Significa prezzo forv osservato i 16 twograph globale (scatter priceobs t se ProdID i) twoway twograph, leggenda (off) titolo (andamento dei prezzi osservati per primi sei prodotti) I dati sono alla ricerca molto meglio, ma abbiamo ancora chiaramente alcuni valori anomali indesiderati. Potremmo sfruttare le tendenze trasversali dei prodotti per aiutare a identificare i valori anomali all'interno di prezzi dei prodotti. BySort t: Egen aveprice media (priceobs) reg priceobs aveprice se prodid 1 prevedono resid1, residuo reg priceobs aveprice se prodid 2 prevedono resid2, residuo reg priceobs aveprice se prodid 3 prevedono resid3, residua a due vie (resid1 t linea se ProdID 1) (Linea priceobs t se ProdID 1) (resid2 t linea se ProdID 2) (linea priceobs t se ProdID 2) (resid3 t linea se ProdID 3) (linea priceobs t se ProdID 3). titolo (I residui sono chiari indicatori di valori anomali) leggenda (off) Infine, cerchiamo di cadere osservazioni con residui che sono maggiori di 1,5 deviazioni standard dalla media. qui forv i1200 reg priceobs aveprice se prodid Prevedo residtemp, somma residua residtemp sostituire bandiera ((residtemp-R (media) GTR (sd) 1,5 residtemp-R (media) cadere residtemp Consente di vedere come si sta lavorando: due (scatter priceobs t se ProdID 2) (priceobs dispersione t se prodid 2 amp flag1. msymbol (LGX)). titolo (ora solo cercando rimuovere alcuni valori anomali finali) leggenda (off) Tracciando prodotto 1 prezzi relativi a valori anomali. forv twograph globale I 16 twograph globale ( linea priceobs t se ProdID i) infine far cadere i valori anomali cadere se la bandiera Un'ultima globale grafico twograph forv i 16 twograph globale (priceobs dispersione t se i ProdID) twoway twograph, leggenda (titolo off) (andamento dei prezzi osservati per primi sei prodotti) Non pulita come il nostro primo grafico ma sicuramente molto migliorato.
Comments
Post a Comment