Moving Media Sas Macro
Il codice di esempio sulla scheda codice completo illustra come calcolare la media mobile di una variabile attraverso un intero set di dati, nel corso degli ultimi N osservazioni in un insieme di dati, o nel corso degli ultimi N osservazioni entro un by-gruppo. Questi file di esempio e gli esempi di codice sono forniti da SAS Institute Inc. come è, senza alcun tipo di garanzia, espressa o implicita, compreso ma non limitato alle garanzie implicite di commerciabilità e idoneità per uno scopo particolare. Destinatari riconoscono e concordano sul fatto che SAS Institute non sarà responsabile per qualsiasi danno derivante dal loro uso di questo materiale. Inoltre, SAS Institute fornirà alcun supporto per i materiali qui contenuti. Questi file di esempio e gli esempi di codice sono forniti da SAS Institute Inc. come è, senza alcun tipo di garanzia, espressa o implicita, compreso ma non limitato alle garanzie implicite di commerciabilità e idoneità per uno scopo particolare. Destinatari riconoscono e concordano sul fatto che SAS Institute non sarà responsabile per qualsiasi danno derivante dal loro uso di questo materiale. Inoltre, SAS Institute fornirà alcun supporto per i materiali qui contenuti. Calcolare la media mobile di una variabile attraverso un intero set di dati, nel corso degli ultimi N osservazioni in un insieme di dati, o nel corso degli ultimi N osservazioni entro un by-group. Autoregressive processi di errore (ARMA errori) e altri modelli che coinvolgono-media mobile ritardi dei termini di errore possono essere stimati utilizzando istruzioni FIT e simulate o previsione utilizzando SOLVE dichiarazioni. modelli ARMA per il processo di errore sono spesso utilizzati per i modelli con residui autocorrelati. La macro AR può essere utilizzato per specificare i modelli con i processi di errore autoregressivi. La macro MA può essere utilizzato per specificare i modelli con i processi di errore a media mobile. Gli errori autoregressivi Un modello con errori autoregressivi di primo ordine, AR (1), ha la forma mentre un AR (2) processo di errore ha la forma e così via per i processi di ordine superiore. Si noti che le s sono indipendenti e identicamente distribuite e hanno un valore atteso di 0. Un esempio di un modello con un AR (2) componente e così via per processi di ordine superiore. Ad esempio, è possibile scrivere un semplice modello di regressione lineare con MA (2) errori di esempio dove MA1 e MA2 sono i parametri in movimento-media-media mobile. Si noti che RESID. Y è definito automaticamente dal PROC modello come la funzione ZLAG deve essere utilizzato per i modelli MA di troncare la ricorsione dei GAL. Questo assicura che gli errori ritardati partono da zero nella fase di latenza-priming e non si propagano valori mancanti quando le variabili fase di latenza-priming sono mancanti, e si assicura che i futuri errori sono pari a zero, piuttosto che mancare durante la simulazione o di previsione. Per ulteriori informazioni sulle funzioni di ritardo, vedere la logica sezione di Lag. Questo modello scritto utilizzando la macro MA è la seguente: generali Forma per i modelli ARMA ha può essere specificato il seguente modulo Un ARMA (p, q) Il modello generale processo ARMA (p, q) nel modo seguente: dove AR ie MA j rappresento i parametri autoregressivi e movimento-media per i vari ritardi. È possibile utilizzare qualsiasi nomi che si desidera per queste variabili, e ci sono molti modi equivalenti che la specifica potrebbe essere scritto. I processi di vettore ARMA possono essere stimati con PROC MODELLO. Ad esempio, un AR due variabili (1) Procedimento per gli errori del due variabili endogene Y1 e Y2 possono essere specificati come segue: Problemi di convergenza con ARMA modelli Modelli ARMA può essere difficile stimare. Se le stime dei parametri non sono all'interno della gamma del caso, un modelli di movimento-media durata residua crescono in modo esponenziale. I residui calcolati per osservazioni successive possono essere molto grandi oppure possono traboccare. Ciò può accadere sia perché i valori di avviamento errato sono stati utilizzati o perché le iterazioni allontanati dai valori ragionevoli. Si deve essere utilizzato nella scelta di valori iniziali per i parametri ARMA. valori di 0,001 inizio parametri ARMA solito funzionano se il modello si adatta il pozzo di dati e il problema è ben condizionata. Si noti che un modello MA spesso può essere approssimata da un modello AR di ordine superiore, e viceversa. Ciò può portare a alta collinearità in modelli misti ARMA, che a sua volta può causare gravi mal condizionata nei calcoli e l'instabilità delle stime dei parametri. In caso di problemi di convergenza, mentre la stima di un modello con i processi di errore ARMA, provare a stimare in passi. In primo luogo, utilizzare un'istruzione FIT per stimare solo i parametri strutturali con i parametri ARMA detenute sino a zero (o per le stime precedenti ragionevoli se disponibile). Successivamente, utilizzare un'altra dichiarazione FIT per stimare solo i parametri ARMA, utilizzando i valori dei parametri strutturali dalla prima esecuzione. Dal momento che i valori dei parametri strutturali sono suscettibili di essere vicini ai loro stime finali, i parametri stime ARMA potrebbero ora convergono. Infine, usare un'altra dichiarazione FIT per produrre stime simultanea di tutti i parametri. Poiché i valori iniziali dei parametri sono ora probabilmente molto vicino a loro stime congiunte finali, le stime dovrebbero convergere rapidamente se il modello è appropriato per i dati. AR condizioni iniziali i ritardi iniziali dei termini di errore di AR modelli (P) possono essere modellati in vari modi. L'errore metodi di avvio autoregressive supportati da procedure SASETS sono i seguenti: condizionali minimi quadrati (ARIMA e procedure modello) incondizionati minimi quadrati (autoreg, Arima, e le procedure di modello) di massima verosimiglianza (autoreg, Arima, e le procedure MODELLO) Yule-Walker (autoreg unico procedimento) Hildreth-Lu, che cancella le prime osservazioni p (procedura di modello), vedere il Capitolo 8, la procedura autoreg, per una spiegazione e discussione dei meriti dei vari metodi AR (p) di avvio. Le inizializzazioni CLS, ULS, ML e HL possono essere eseguite da PROC MODELLO. Per AR (1) errori, queste inizializzazioni possono essere prodotte come mostrato nella Tabella 18.2. Questi metodi sono equivalenti in grandi campioni. Tabella 18.2 Inizializzazioni Realizzate dal PROC modello AR (1) ERRORI i ritardi iniziali dei termini di errore di MA (q) i modelli possono anche essere modellati in modi diversi. Il seguente errore media mobile paradigmi di start-up sono supportati dal procedure modello ARIMA e: incondizionati minimi quadrati condizionali dei minimi quadrati Il condizionale metodo dei minimi quadrati per stimare termini di errore a media mobile non è ottimale perché ignora il problema di start-up. Questo riduce l'efficienza delle stime, pur rimanendo imparziale. I residui ritardati iniziali, estendendo prima dell'inizio dei dati, vengono considerati 0, il valore atteso incondizionata. Questo introduce una differenza tra questi residui e le generalizzate dei minimi quadrati residui per la covarianza media mobile, che, a differenza del modello autoregressivo, persiste attraverso il set di dati. Solitamente questa differenza converge rapidamente a 0, ma per processi a media mobile quasi noninvertible la convergenza è piuttosto lento. Per minimizzare questo problema, si dovrebbe avere un sacco di dati, e le stime dei parametri a media mobile dovrebbe essere ben all'interno della gamma invertibile. Questo problema può essere risolto a scapito di scrivere un programma più complesso. Unconditional minimi quadrati stime per la (1) processo MA possono essere prodotte specificando il modello come segue: gli errori di media mobile possono essere difficili da stimare. Si dovrebbe considerare l'utilizzo di una approssimazione AR (p) per il processo di media mobile. Un processo a media mobile di solito può essere ben approssimato da un processo autoregressivo se i dati non sono stati levigati o differenziata. La macro AR La macro AR SAS genera le istruzioni di programmazione per PROC MODELLO per i modelli autoregressivi. La macro AR fa parte del software SASETS, e nessuna opzione particolare deve essere impostato per utilizzare la macro. Il processo autoregressivo può essere applicato agli errori equazioni strutturali o alla serie endogena stessi. La macro AR può essere utilizzato per i seguenti tipi di autoregressione: senza restrizioni autoregressione vettoriale limitato autoregressione vettoriale univariata Autoregressione Per modellare il termine di errore di un'equazione come un processo autoregressivo, utilizzare la seguente dichiarazione dopo l'equazione: Per esempio, supponiamo che Y è un funzione lineare di X1, X2, e un (2) errore AR. Si potrebbe scrivere questo modello come segue: Le chiamate verso AR devono venire dopo tutte le equazioni che il processo applicato. Il precedente macro invocazione, AR (y, 2), produce le dichiarazioni indicate in uscita LISTA nella Figura 18.58. Figura 18.58 lista di output opzione per un AR (2) Modello La PRED prefisso variabili sono variabili del programma temporanei utilizzati in modo tale che i ritardi dei residui sono i residui corrette e non quelli ridefinito da questa equazione. Si noti che questo è equivalente alle dichiarazioni esplicitamente scritto nella sezione forma generale per i modelli ARMA. È inoltre possibile limitare i parametri autoregressivi a zero al GAL selezionati. Ad esempio, se si voleva parametri autoregressivi a ritardi 1, 12, e 13, è possibile utilizzare le seguenti istruzioni: Queste dichiarazioni generano l'output mostrato nella Figura 18.59. Figura 18.59 lista di output opzione per un modello AR con Ritardi a 1, 12, e 13 MODELLO procedura di quotazione di compilato Privacy Codice di programma come Parsed PRED. yab x1 c x2 RESID. y PRED. y - ACTUAL. y ERROR. y PRED. y - y OLDPRED. y PRED. y yl1 ZLAG1 (y - PREDY) yl12 ZLAG12 (y - PREDY) yl13 ZLAG13 (y - PREDY) RESID. y PRED. y - ACTUAL. y ERROR. y PRED. y - y ci sono variazioni sul metodo dei minimi quadrati condizionale, a seconda che osservazioni all'inizio della serie sono usati per riscaldare il processo AR. Per impostazione predefinita, il condizionale metodo dei minimi quadrati AR utilizza tutte le osservazioni e assume zeri per i ritardi iniziali dei termini autoregressivi. Utilizzando l'opzione M, è possibile richiedere che AR utilizzare i minimi quadrati incondizionati (ULS) o metodo della massima verosimiglianza (ML), invece. Ad esempio, discussioni di questi metodi è fornito nella sezione AR condizioni iniziali. Utilizzando l'opzione n MLCS, è possibile richiedere che i primi n osservazioni essere utilizzati per calcolare le stime dei ritardi autoregressivi iniziali. In questo caso, l'analisi inizia con l'osservazione n 1. Ad esempio: È possibile utilizzare la macro AR per applicare un modello autoregressivo alla variabile endogena, anziché al termine di errore, utilizzando l'opzione TYPEV. Ad esempio, se si desidera aggiungere i cinque ritardi passate di Y per l'equazione nell'esempio precedente, è possibile utilizzare AR per generare i parametri e ritardi utilizzando le seguenti istruzioni: Le istruzioni precedenti generano l'output mostrato nella Figura 18.60. Figura 18.60 lista di output opzione per un modello AR di Y Questo modello prevede Y come una combinazione lineare di X1, X2, un'intercettazione, ed i valori di Y nel più recente cinque periodi. Imprendibile autoregressione vettoriale per modellare i termini di errore di un insieme di equazioni come un processo autoregressivo vettoriale, utilizzare il seguente modulo della macro AR dopo le equazioni: Il valore ProcessName è un nome che si fornisce per AR da utilizzare nel fare i nomi per la autoregressivo parametri. È possibile utilizzare la macro AR per modellare diversi processi AR diversi per diversi insiemi di equazioni utilizzando i nomi di processo diversi per ogni set. Il nome del processo assicura che i nomi delle variabili utilizzati sono unici. Utilizzare un valore ProcessName breve per il processo se stime dei parametri devono essere scritti in un set di dati di uscita. La macro AR tenta di costruire nomi di parametri inferiori o uguali a otto caratteri, ma questa è limitata dalla lunghezza del ProcessName. che viene utilizzato come prefisso per i nomi dei parametri AR. Il valore variablelist è l'elenco delle variabili endogene per le equazioni. Ad esempio, supponiamo che errori per equazioni Y1, Y2, Y3 e sono generati da un processo vettoriale autoregressivo del secondo ordine. È possibile utilizzare le seguenti istruzioni: che generano i seguenti per Y1 e codice simile per Y2 e Y3: solo i minimi quadrati condizionali metodo (MLCS o MLCS n) possono essere utilizzati per i processi di vettore. È inoltre possibile utilizzare lo stesso modulo con restrizioni che la matrice dei coefficienti essere 0 a GAL selezionati. Ad esempio, le istruzioni seguenti valgono un processo vettoriale terzo ordine agli errori equazione con tutti i coefficienti a lag 2 limitato a 0 e con i coefficienti a ritardi 1 e 3 senza limitazioni: È possibile modellare la Y1Y3 tre serie come processo autoregressivo vettoriale nelle variabili anziché negli errori utilizzando l'opzione TYPEV. Se si vuole modellare Y1Y3 in funzione dei valori passati di Y1Y3 e alcune variabili esogene o costanti, è possibile utilizzare AR per generare le istruzioni per i termini di lag. Scrivere un'equazione per ogni variabile per la parte nonautoregressive del modello, e quindi chiamare AR con l'opzione TYPEV. Ad esempio, la parte nonautoregressive del modello può essere una funzione di variabili esogene, oppure può essere parametri di intercettazione. Se non vi sono componenti esogene al modello autoregressione vettoriale, inclusi senza intercettazioni, quindi assegnare zero a ciascuna delle variabili. Ci deve essere un'assegnazione a ciascuna delle variabili prima AR è chiamato. In questo esempio i modelli Y vettore (Y1 Y2 Y3) come una funzione lineare solo del suo valore negli ultimi due periodi e nero vettore errore di rumore. Il modello dispone di 18 (3 3 3 3) i parametri. Sintassi del Macro AR Ci sono due casi di sintassi della macro AR. Quando non sono necessarie restrizioni su un processo AR vettore, la sintassi della macro AR ha la forma generale specifica un prefisso per AR da utilizzare nella costruzione di nomi di variabili necessarie per definire il processo di AR. Se il endolist non viene specificato, l'elenco endogene default nome. che deve essere il nome dell'equazione a cui deve essere applicato il processo di errore AR. Il valore del nome non può superare i 32 caratteri. è l'ordine del processo AR. specifica l'elenco di equazioni in cui il processo AR deve essere applicata. Se viene dato più di un nome, un processo vector illimitata viene creato con i residui strutturali di tutte le equazioni inclusi come regressori in ciascuna delle equazioni. Se non specificato, di default endolist dare un nome. specifica la lista di ritardi con cui i termini AR sono da aggiungere. I coefficienti dei termini a non GAL elencati sono impostati a 0. Tutti i GAL elencati deve essere inferiore o uguale a nlag. e non ci devono essere duplicati. Se non specificato, le impostazioni predefinite laglist a tutti i GAL 1 a nlag. specifica il metodo di stima da implementare. I valori validi di M sono CLS (condizionali minimi quadrati stime), ULS (incondizionati minimi quadrati stime), e ML (stime di massima verosimiglianza). MLCS è l'impostazione predefinita. Solo MLCS è consentito quando viene specificato più di una equazione. I metodi ULS e ML non sono supportati per i modelli vettore AR da AR. specifica che il processo AR deve essere applicata alle variabili endogene stessi anziché ai residui strutturali delle equazioni. Limitato autoregressione vettoriale È possibile controllare quali parametri sono inclusi nel processo, limitandosi a 0 quei parametri che non non include. In primo luogo, utilizzare AR con l'opzione DEFER per dichiarare l'elenco delle variabili e definire la dimensione del processo. Poi, uso supplementare AR chiama per generare i termini per equazioni selezionati con variabili selezionate al GAL selezionati. Ad esempio, le equazioni di errore prodotti sono i seguenti: Questo modello afferma che gli errori di Y1 dipendono errori sia di Y1 e Y2 (ma non Y3) sia in ritardo rispetto 1 e 2, e che gli errori di Y2 e Y3 dipendono gli errori precedenti per tutte e tre le variabili, ma solo in ritardo 1. AR Macro sintassi per ristretta vettore AR un uso alternativo di AR è consentito di imporre restrizioni su un processo AR vettore chiamando AR più volte per specificare diversi termini AR e rallentamenti per diversi equazioni. La prima chiamata ha la forma generale specifica un prefisso per AR da utilizzare nella costruzione di nomi di variabili necessarie per definire il processo di AR vettore. specificare l'ordine del processo AR. specifica l'elenco di equazioni in cui il processo AR deve essere applicata. specifica che AR non è quello di generare il processo di AR, ma è quello di attendere ulteriori informazioni di cui in seguito AR richiede lo stesso valore del nome. Le chiamate successive hanno la forma generale è la stessa come nella prima chiamata. specifica l'elenco di equazioni per cui specifiche in questa chiamata AR da applicare. Solo nomi specificati nel valore endolist del primo invito a presentare il valore del nome possono apparire nella lista di equazioni in eqlist. Specifica l'elenco di equazioni la cui ritardata strutturale residui devono essere inclusi come regressori nelle equazioni in eqlist. Solo i nomi nel endolist del primo invito a presentare il valore del nome possono apparire nella lista-variabili. Se non specificato, di default lista-variabili a endolist. specifica la lista di ritardi con cui i termini AR sono da aggiungere. I coefficienti dei termini in ritardi non elencati sono impostati a 0. Tutti i ritardi elencati devono essere minore o uguale al valore di nlag. e non ci devono essere duplicati. Se non specificato, di default laglist a tutti i GAL 1 a nlag. La macro MA La macro MA SAS genera le istruzioni di programmazione per PROC modello per i modelli in movimento-media. La macro MA è parte del software SASETS, e senza opzioni speciali sono necessarie per utilizzare la macro. Il processo di errore a media mobile può essere applicato agli errori equazioni strutturali. La sintassi della macro MA è la stessa della macro AR eccezione che non c'è argomentazione TYPE. Quando si utilizza il MA e macro AR combinati, la macro MA deve seguire la macro AR. Le seguenti dichiarazioni SASIML producono una ARMA (1, (1 3)) processo di errore e salvarlo nella MADAT2 set di dati. Le seguenti dichiarazioni PROC modello vengono utilizzati per stimare i parametri di questo modello, utilizzando la massima struttura di errore verosimiglianza: Le stime dei parametri prodotti da questa corsa sono illustrati nella Figura 18.61. Figura 18.61 Le stime da un ARMA (1, (1 3)) processo ci sono due casi di sintassi per la macro MA. Quando non sono necessarie restrizioni su un processo MA vettore, la sintassi della macro MA ha la forma generale specifica un prefisso per MA da utilizzare nella costruzione di nomi di variabili necessarie per definire il processo di MA ed è il endolist predefinita. è l'ordine del processo MA. specifica le equazioni per cui il processo MA deve essere applicato. Se viene dato più nomi, la stima CLS viene utilizzato per il processo vettoriale. specifica i ritardi con cui i termini MA sono da aggiungere. Tutti i ritardi di cui deve essere minore o uguale a nlag. e non ci devono essere duplicati. Se non specificato, le impostazioni predefinite laglist a tutti i GAL 1 a nlag. specifica il metodo di stima da implementare. I valori validi di M sono CLS (condizionali minimi quadrati stime), ULS (incondizionati minimi quadrati stime), e ML (stime di massima verosimiglianza). MLCS è l'impostazione predefinita. Solo MLCS è consentita quando più di una equazione è specificato nel endolist. MA Macro Sintassi per ristretta Vector media mobile un uso alternativo di MA è permesso di imporre restrizioni su un processo MA vettore chiamando MA più volte per specificare diversi termini MA e ritardi per le diverse equazioni. La prima chiamata ha la forma generale specifica un prefisso per MA da utilizzare nella costruzione di nomi di variabili necessarie per definire il processo MA vettore. specificare l'ordine del processo MA. specifica l'elenco di equazioni in cui il processo MA deve essere applicata. specifica che MA non è quello di generare il processo MA, ma è quello di attendere ulteriori informazioni di cui in seguito MA richiede lo stesso valore del nome. Le chiamate successive hanno la forma generale è la stessa come nella prima chiamata. specifica l'elenco di equazioni per cui specifiche in questa chiamata MA da applicare. Specifica l'elenco di equazioni la cui ritardata strutturale residui devono essere inclusi come regressori nelle equazioni in eqlist. Specifica l'elenco dei ritardi con cui i termini MA devono essere added. Autoregressive Moving errore medio Processi 13 13 13 13 13 13 Autoregressive movimento processi errore medio (ARMA errori) e altri modelli che coinvolgono ritardi di termini di errore può essere stimata utilizzando le istruzioni in forma e simulato o del tempo usando RISOLVERE dichiarazioni. modelli ARMA per il processo di errore sono spesso utilizzati per i modelli con residui autocorrelati. La macro AR può essere utilizzato per specificare i modelli con i processi di errore autoregressivi. La macro MA può essere utilizzato per specificare i modelli con lo spostamento dei processi errore medio. Gli errori autoregressivi Un modello con errori autoregressivi di primo ordine, AR (1), ha la forma mentre un AR (2) processo di errore ha la forma e così via per i processi di ordine superiore. Si noti che le s sono indipendenti e identicamente distribuite e hanno un valore atteso pari a 0. Un esempio di un modello con un AR (2) componente è Si potrebbe scrivere questo modello come segue: o equivalentemente utilizzando la macro AR come modello a media mobile 13 A modello con del primo ordine in movimento errori medi, MA (1), ha la forma in cui è identicamente e indipendentemente distribuite con media pari a zero. An (2) processo di errore MA ha la forma e così via per processi di ordine superiore. Ad esempio, è possibile scrivere un semplice modello di regressione lineare con MA (2) lo spostamento errori medi esempio dove MA1 e MA2 sono i parametri media mobile. Si noti che RESID. Y è definito automaticamente dal PROC modello come noti che RESID. Y è. La funzione ZLAG deve essere utilizzato per i modelli MA per troncare la ricorsione dei GAL. Questo assicura che gli errori ritardati partono da zero nella fase di latenza-priming e non si propagano valori mancanti quando le variabili fase di latenza-priming sono mancanti, e assicura che i futuri errori sono pari a zero, piuttosto che mancare durante la simulazione o di previsione. Per ulteriori informazioni sulle funzioni di ritardo, vedere la sezione 34Lag Logic.34 Questo modello scritto utilizzando la macro MA è forma generale per i modelli ARMA Il generale processo ARMA (p, q) ha la seguente forma Un ARMA (p, q) modello può essere specificato come segue dove AR i e j MA rappresento la autoregressivo e spostando parametri medi per i vari ritardi. È possibile utilizzare qualsiasi nomi che si desidera per queste variabili, e ci sono molti modi equivalenti che la specifica potrebbe essere scritto. I processi di vettore ARMA possono essere stimati con PROC MODELLO. Ad esempio, un AR due variabili (1) Procedimento per gli errori del due variabili endogene Y1 e Y2 possono essere specificato come segue Problemi di convergenza con ARMA modelli Modelli ARMA può essere difficile stimare. Se le stime dei parametri non sono all'interno della gamma del caso, un modello a media mobile termini residuali cresceranno in modo esponenziale. I residui calcolati per osservazioni successive possono essere molto grandi oppure possono traboccare. Ciò può accadere sia perché i valori di avviamento errato sono stati utilizzati o perché le iterazioni allontanati dai valori ragionevoli. Si deve essere utilizzato nella scelta di valori iniziali per i parametri ARMA. valori di .001 inizio parametri ARMA solito funzionano se il modello si adatta il pozzo di dati e il problema è ben condizionata. Si noti che un modello MA spesso può essere approssimata da un modello AR ordine elevato, e viceversa. Ciò può comportare alta collinearità in modelli misti ARMA, che a sua volta può causare gravi mal condizionata nei calcoli e l'instabilità delle stime dei parametri. In caso di problemi di convergenza, mentre la stima di un modello con i processi di errore ARMA, provare a stimare in passi. In primo luogo, utilizzare un'istruzione FIT per stimare solo i parametri strutturali con i parametri ARMA detenute sino a zero (o per le stime precedenti ragionevoli se disponibile). Successivamente, utilizzare un'altra dichiarazione FIT per stimare solo i parametri ARMA, utilizzando i valori dei parametri strutturali dalla prima esecuzione. Poiché i valori dei parametri strutturali possano essere vicini ai loro stime finali, le stime dei parametri ARMA possono ora convergono. Infine, usare un'altra dichiarazione FIT per produrre stime simultanea di tutti i parametri. Poiché i valori iniziali dei parametri sono ora probabilmente molto vicino a loro stime congiunte finali, le stime dovrebbero convergere rapidamente se il modello è appropriato per i dati. AR condizioni iniziali 13 13 13 13 13 13 13 13 13 13 I ritardi iniziali dei termini di errore di AR modelli (P) possono essere modellati in vari modi. L'errore metodi di avvio autoregressive supportati da procedure SASETS sono i seguenti: CLS condizionali minimi quadrati (ARIMA e procedure modello) ULS incondizionato minimi quadrati (autoreg, ARIMA, e le procedure di modello) ML massima verosimiglianza (autoreg, ARIMA, e le procedure di modello) YW Yule - Walker (procedura autoreg solo) HL Hildreth-Lu, che cancella le prime osservazioni p (procedura di modello), vedere il Capitolo 8. per una spiegazione e discussione dei meriti di varie AR (p) i metodi di avvio. Le inizializzazioni CLS, ULS, ML e HL possono essere eseguite da PROC MODELLO. Per AR (1) errori, queste inizializzazioni possono essere prodotte come mostrato nella Tabella 14.2. Questi metodi sono equivalenti in grandi campioni. Tabella 14.2: Inizializzazioni Realizzate dal PROC MODELLO: AR (1) ERRORI MA condizioni iniziali 13 13 13 13 13 13 I ritardi iniziali dei termini di errore di MA modelli (Q) possono anche essere modellati in modi diversi. Il seguente media mobile paradigmi di avvio errore sono supportati dalle procedure ARIMA e modello: ULS incondizionati minimi quadrati CLS condizionale minimi quadrati ML massima verosimiglianza Il metodo condizionali minimi quadrati di stimare lo spostamento termini errore medio non è ottimale perché ignora il problema di avvio. Questo riduce l'efficienza delle stime, pur rimanendo imparziale. I residui ritardati iniziali, estendendo prima dell'inizio dei dati, vengono considerati 0, il valore atteso incondizionata. Questo introduce una differenza tra questi residui e dei minimi quadrati generalizzati residui per il movimento covarianza media, che, a differenza del modello autoregressivo, persiste attraverso il set di dati. Solitamente questa differenza converge rapidamente a 0, ma per quasi noninvertible spostano processi medi la convergenza è piuttosto lento. Per minimizzare questo problema, si dovrebbe avere un sacco di dati, e le stime medie mobili parametro dovrebbe essere ben all'interno della gamma invertibile. Questo problema può essere risolto a scapito di scrivere un programma più complesso. Unconditional minimi quadrati stime per la (1) processo MA possono essere prodotte specificando il modello come segue: gli errori di media mobile possono essere difficili da stimare. Si dovrebbe considerare l'utilizzo di una approssimazione AR (p) per il processo di media mobile. Un processo di media mobile di solito può essere ben approssimato da un processo autoregressivo se i dati non sono stati levigati o differenziata. La macro AR La macro AR SAS genera le istruzioni di programmazione per PROC MODELLO per i modelli autoregressivi. La macro AR fa parte del software SASETS e opzioni speciali devono essere impostati per utilizzare la macro. Il processo autoregressivo può essere applicato agli errori equazioni strutturali o alla serie endogena stessi. La macro AR può essere utilizzato per univariata un'autoregressione illimitato autoregressione vettoriale vettore limitato autoregressione. Univariata Autoregressione 13 per modellare il termine di errore di un'equazione come un processo autoregressivo, utilizzare la seguente dichiarazione dopo l'equazione: Ad esempio, supponiamo che Y è una funzione lineare di X1 e X2, e una (2) errore di AR. Si potrebbe scrivere questo modello come segue: Le chiamate verso AR devono venire dopo tutte le equazioni che il processo applicato. L'invocazione di procedere macro, AR (y, 2), produce le dichiarazioni indicate in uscita LISTA nella Figura 14.49. Figura 14.50: ELENCO uscita opzione per un modello AR con Ritardi a 1, 12, e 13 ci sono variazioni sul metodo dei minimi quadrati condizionale, a seconda che le osservazioni all'inizio della serie sono utilizzati per 34warm up34 il processo di AR. Per impostazione predefinita, il metodo dei minimi quadrati condizionale AR utilizza tutte le osservazioni e assume zeri per i ritardi iniziali dei termini autoregressivi. Utilizzando l'opzione M, è possibile richiedere che AR utilizzare i incondizionati dei minimi quadrati (ULS) o metodo della massima verosimiglianza (ML), invece. Per esempio: Le discussioni di questi metodi è fornito in 34AR Conditions34 iniziale precedentemente in questa sezione. Utilizzando l'opzione n MLCS, è possibile richiedere che i primi n osservazioni essere utilizzati per calcolare le stime dei ritardi autoregressivi iniziali. In questo caso, l'analisi inizia con l'osservazione n 1. Ad esempio: È possibile utilizzare la macro AR per applicare un modello autoregressivo alla variabile endogena, anziché al termine di errore, utilizzando l'opzione TYPEV. Ad esempio, se si desidera aggiungere i cinque ritardi passate di Y per l'equazione nell'esempio precedente, è possibile utilizzare AR per generare i parametri e GAL utilizzando le seguenti istruzioni: Le istruzioni precedenti generano l'output mostrato nella Figura 14.51. Il MODELLO procedura di quotazione di compilato Privacy Codice di programma come Parsed PRED. yab x1 c x2 RESID. y PRED. y - ACTUAL. y ERROR. y PRED. y - y OLDPRED. y PRED. y yl1 ZLAG1 (y) YL2 ZLAG2 (y ) yl3 ZLAG3 (y) yl4 ZLAG4 (y) yl5 ZLAG5 (y) RESID. y PRED. y - ACTUAL. y ERROR. y PRED. y - y Figura 14.51: ELENCO uscita opzione per un modello AR di Y Questo modello prevede Y come una combinazione lineare di X1, X2, un'intercettazione, ed i valori di Y nelle più recenti cinque periodi. Imprendibile autoregressione vettoriale 13 per modellare i termini di errore di un insieme di equazioni come un processo autoregressivo vettoriale, utilizzare il seguente modulo della macro AR dopo le equazioni: Il valore ProcessName è un nome che si fornisce per AR da utilizzare nel fare i nomi per la parametri autoregressivi. È possibile utilizzare la macro AR per modellare diversi processi AR diversi per diversi insiemi di equazioni utilizzando i nomi di processo diversi per ogni set. Il nome del processo assicura che i nomi delle variabili utilizzati sono unici. Utilizzare un valore ProcessName breve per il processo se stime dei parametri devono essere scritti in un set di dati di uscita. La macro AR tenta di costruire nomi di parametri inferiori o uguali a otto caratteri, ma questa è limitata dalla lunghezza del nome. che viene utilizzato come prefisso per i nomi dei parametri AR. Il valore variablelist è l'elenco delle variabili endogene per le equazioni. Ad esempio, supponiamo che errori per equazioni Y1, Y2, Y3 e sono generati da un processo vettoriale autoregressivo del secondo ordine. È possibile utilizzare le seguenti istruzioni: che genera il seguente per Y1 e codice simile per Y2 e Y3: solo i condizionali minimi quadrati metodo (MLCS o MLCS n) possono essere utilizzati per i processi di vettore. È inoltre possibile utilizzare lo stesso modulo con restrizioni che la matrice dei coefficienti essere 0 a GAL selezionati. Ad esempio, le dichiarazioni applicare un processo vettoriale terzo ordine agli errori equazione con tutti i coefficienti a lag 2 limitato a 0 e con i coefficienti a ritardi 1 e 3 senza restrizioni. È possibile modellare la serie di tre Y1-Y3 come un processo autoregressivo vettore nelle variabili anziché negli errori utilizzando l'opzione TYPEV. Se si desidera modello Y1-Y3 in funzione dei valori passati di Y1-Y3 e alcune variabili esogene o costanti, è possibile utilizzare AR per generare le istruzioni per i termini di lag. Scrivere un'equazione per ogni variabile per la parte nonautoregressive del modello, e quindi chiamare AR con l'opzione TYPEV. Ad esempio, la parte nonautoregressive del modello può essere una funzione di variabili esogene, oppure può essere parametri di intercettazione. Se non vi sono componenti esogene al modello autoregressione vettoriale, inclusi senza intercettazioni, quindi assegnare zero a ciascuna delle variabili. Ci deve essere un'assegnazione a ciascuna delle variabili prima AR è chiamato. In questo esempio i modelli Y vettore (Y1 Y2 Y3) come una funzione lineare solo del suo valore negli ultimi due periodi e nero vettore errore di rumore. Il modello dispone di 18 (3 volte 3 3 volte 3) i parametri. Sintassi del Macro AR Ci sono due casi di sintassi della macro AR. Il primo ha il nome generico modulo specifica un prefisso per AR da utilizzare nella costruzione di nomi di variabili necessarie per definire il processo di AR. Se il endolist non viene specificato, l'elenco endogene default nome. che deve essere il nome dell'equazione a cui deve essere applicato il processo di errore AR. Il valore del nome non può superare gli otto caratteri. nlag è l'ordine del processo di AR. endolist specifica l'elenco di equazioni a cui deve essere applicato il processo AR. Se viene dato più di un nome, un processo vector illimitata viene creato con i residui strutturali di tutte le equazioni inclusi come regressori in ciascuna delle equazioni. Se non specificato, di default endolist dare un nome. laglist specifica l'elenco dei ritardi con cui i termini AR sono da aggiungere. The coefficients of the terms at lags not listed are set to 0. All of the listed lags must be less than or equal to nlag . and there must be no duplicates. If not specified, the laglist defaults to all lags 1 through nlag . M method specifies the estimation method to implement. Valid values of M are CLS (conditional least-squares estimates), ULS (unconditional least-squares estimates), and ML (maximum-likelihood estimates). MCLS is the default. Only MCLS is allowed when more than one equation is specified. The ULS and ML methods are not supported for vector AR models by AR. TYPEV specifies that the AR process is to be applied to the endogenous variables themselves instead of to the structural residuals of the equations. Restricted Vector Autoregression 13 13 13 13 You can control which parameters are included in the process, restricting those parameters that you do not include to 0. First, use AR with the DEFER option to declare the variable list and define the dimension of the process. Then, use additional AR calls to generate terms for selected equations with selected variables at selected lags. For example, The error equations produced are This model states that the errors for Y1 depend on the errors of both Y1 and Y2 (but not Y3) at both lags 1 and 2, and that the errors for Y2 and Y3 depend on the previous errors for all three variables, but only at lag 1. AR Macro Syntax for Restricted Vector AR An alternative use of AR is allowed to impose restrictions on a vector AR process by calling AR several times to specify different AR terms and lags for different equations. The first call has the general form name specifies a prefix for AR to use in constructing names of variables needed to define the vector AR process. nlag specifies the order of the AR process. endolist specifies the list of equations to which the AR process is to be applied. DEFER specifies that AR is not to generate the AR process but is to wait for further information specified in later AR calls for the same name value. The subsequent calls have the general form name is the same as in the first call. eqlist specifies the list of equations to which the specifications in this AR call are to be applied. Only names specified in the endolist value of the first call for the name value can appear in the list of equations in eqlist . varlist specifies the list of equations whose lagged structural residuals are to be included as regressors in the equations in eqlist . Only names in the endolist of the first call for the name value can appear in varlist . If not specified, varlist defaults to endolist . laglist specifies the list of lags at which the AR terms are to be added. The coefficients of the terms at lags not listed are set to 0. All of the listed lags must be less than or equal to the value of nlag . and there must be no duplicates. If not specified, laglist defaults to all lags 1 through nlag . The MA Macro 13 The SAS macro MA generates programming statements for PROC MODEL for moving average models. The MA macro is part of SASETS software and no special options are needed to use the macro. The moving average error process can be applied to the structural equation errors. The syntax of the MA macro is the same as the AR macro except there is no TYPE argument. 13 When you are using the MA and AR macros combined, the MA macro must follow the AR macro. The following SASIML statements produce an ARMA(1, (1 3)) error process and save it in the data set MADAT2. The following PROC MODEL statements are used to estimate the parameters of this model using maximum likelihood error structure: The estimates of the parameters produced by this run are shown in Figure 14.52. Maximum Likelihood ARMA(1, (1 3)) Figure 14.52: Estimates from an ARMA(1, (1 3)) Process Syntax of the MA Macro There are two cases of the syntax for the MA macro. The first has the general form name specifies a prefix for MA to use in constructing names of variables needed to define the MA process and is the default endolist . nlag is the order of the MA process. endolist specifies the equations to which the MA process is to be applied. If more than one name is given, CLS estimation is used for the vector process. laglist specifies the lags at which the MA terms are to be added. All of the listed lags must be less than or equal to nlag . and there must be no duplicates. If not specified, the laglist defaults to all lags 1 through nlag . M method specifies the estimation method to implement. Valid values of M are CLS (conditional least-squares estimates), ULS (unconditional least-squares estimates), and ML (maximum-likelihood estimates). MCLS is the default. Only MCLS is allowed when more than one equation is specified on the endolist . MA Macro Syntax for Restricted Vector Moving Average 13 An alternative use of MA is allowed to impose restrictions on a vector MA process by calling MA several times to specify different MA terms and lags for different equations. The first call has the general form name specifies a prefix for MA to use in constructing names of variables needed to define the vector MA process. nlag specifies the order of the MA process. endolist specifies the list of equations to which the MA process is to be applied. DEFER specifies that MA is not to generate the MA process but is to wait for further information specified in later MA calls for the same name value. The subsequent calls have the general form name is the same as in the first call. eqlist specifies the list of equations to which the specifications in this MA call are to be applied. varlist specifies the list of equations whose lagged structural residuals are to be included as regressors in the equations in eqlist . laglist specifies the list of lags at which the MA terms are to be added. In this post, I show a trick to do moving average calculation (can be extended to other operations requiring windowing functions) that is super fast. Spesso, gli analisti SAS bisogno per condurre in movimento calcolo della media e ci sono diverse opzioni per l'ordine di preferenza: 1. PROC EXPAND 2. DATI FASE 3. PROC SQL, ma molti siti non possono licenza SASETS da utilizzare PROC espandere e fare media mobile a DATI STEP richiede un po 'di codifica ed è soggetto a errori. PROC SQL è una scelta naturale per i programmatori minori e, in molti casi aziendali l'unica soluzione, ma SAS39s PROC SQL manca funzioni di windowing che sono disponibili in molti DB per facilitare lo spostamento calcolo della media. Una tecnica la gente di solito usano è CROSS JOIN, che è molto costoso e non una soluzione valida per il set di dati, anche di medie dimensioni. In questo post, vi mostro un trucco per fare movimento calcolo della media (può essere estesa ad altre operazioni che richiedono funzioni di windowing), che è super veloce. Si consideri il semplice movimento calcolo della media in cui le finali osservazioni K sono inclusi nel calcolo, vale a dire MA (K), qui abbiamo fissato K5. Per prima cosa generare un 20 dati di esempio OB, dove variabile ID deve essere utilizzato per finestre e la variabile X è quello di essere utilizzato in calcoli MA, e poi applichiamo il CROSS standard di JOIN di esaminare prima i dati risultanti, non raggruppati, basta per capire come sfruttare la struttura di dati. Dal conseguente insieme di dati, è difficile trovare un indizio, ora let39s ordina per colonna quotbidquot in questo insieme di dati: Da questo allineati i dati, è chiaro che in realtà don39t devono attraversare ENTRA l'intero insieme di dati originale, ma, invece, siamo in grado di generare un insieme di dati quotoperationquot che contiene il valore della differenza, e lasciare che l'originale set di dati CROSS JOIN con questo set di dati quotoperationquot molto più piccolo, e tutti i dati che dobbiamo usare per il calcolo MA saremo lì. Ora let39s farlo: CROSS JOIN dati originali con i dati quotoperationquot, sort by (a. idops), che è in realtà quotbid39 in ordinata serie di dati noti che nel codice di cui sopra, è necessario avere ascia moltiplicare per b. weight in modo che i dati possono essere inter-foglie, altrimenti lo stesso valore X da tavolo originale verrà emesso e il calcolo MA saranno fallito. La variabile di peso esplicito in realtà aggiunge a una maggiore flessibilità per l'intero calcolo di MA. Durante l'impostazione che sia 1 per tutti i risultato OB in un semplice calcolo MA, assegnare pesi diversi aiuteranno a risolvere più complesso MA computing, come dare ulteriori osservazioni meno peso per un MA decaduto. Se sono necessari diversi parametri K in MA (K) i calcoli, solo il set di dati di funzionamento ha bisogno di essere aggiornato, che è lavoro banale. Ora il modello di codice effettivo per il calcolo MA (K) sarà: Con questo nuovo metodo, è interessante confrontarlo con la costosa auto CROSS JOIN e per proc espandersi. Sul mio posto di lavoro (Intel i5 3,8 GHz, 32GB di memoria, 1TB 72K HDD), l'auto CROSS JOIN è proibitivo a lungo nel tempo di esecuzione (se i dati è grande), mentre il nuovo metodo utilizza solo 2X quanto più tempo PROC EXPAND, sia i consumi di tempo sono banale confronto con sé CROSS JOIN. consumo di tempo indicato di seguito è in quotsecondquot. Qui di seguito è il lettori di codici possano correre e confrontare voi stessi. Pubblicato 10 Maggio 2015 da Liang Xie SAS di programmazione per il Data Mining
Comments
Post a Comment