Sunday 1 October 2017

Sas Proc Espansione Esponenziale Mobile Media


Ho incluso uno screenshot per contribuire a chiarire il mio problema: Im cercando di calcolare una sorta di media mobile e in movimento deviazione standard. Il fatto è che voglio per il calcolo dei coefficienti di variazione (stdevavg) per il valore effettivo. Normalmente questo si fa calcolando la STDEV e medio per gli ultimi 5 anni. Tuttavia a volte ci saranno osservazioni nel mio database per il quale non ho le informazioni degli ultimi 5 anni (forse solo 3, 2, ecc). Ecco perché voglio un codice che calcola la media e STDEV anche se non ci sono informazioni per l'intero 5 anni. Inoltre, come si vede nelle osservazioni, a volte ho informazioni su più di 5 anni, quando questo è il caso ho bisogno di un qualche tipo di media mobile che mi permette di calcolare la media e STDEV per il passato 5 anni. Quindi, se una società ha informazioni per 7 anni ho bisogno di un certo tipo di codice che calcola la media e STDEV per, diciamo, 1997 (dal 1991-1996), 1998 (dal 1992-1997) e nel 1999 (1993-1998). Come im non molto familiarità con i comandi sas dovrebbe apparire (molto molto approssimativamente) come: O qualcosa di simile, ho davvero alcun indizio, Im che va provare e calcolare fuori, ma il suo valore distacco, se non lo vorrei trovo myself. Im un principianti SAS e Im curioso di sapere se la seguente attività può essere fatto molto di più semplice in quanto è attualmente nella mia testa. Ho il seguente (semplificato) meta-dati in una tabella denominata userdatemoney: utente - Data - i soldi con i vari utenti e le date per ogni giorno di calendario (per gli ultimi 4 anni). Il dato è ordinato da ASC Utente e Data ASC, dati di esempio appare così: Ora voglio calcolare una media mobile cinque giorni per i soldi. Ho iniziato con il apprach piuttosto popolare con la funzione di ritardo () in questo modo: come si vede, il problema con questo metodo si verifica se c'è se il passaggio di dati si imbatte in un nuovo utente. Aron sarebbe ottenere alcuni valori ritardati da Anna che, ovviamente, non dovrebbe accadere. Ora la mia domanda: Sono abbastanza sicuro che è possibile gestire lo switch utente con l'aggiunta di alcuni campi aggiuntivi, come laggeduser e reimpostando il N, Somma e media variabili se si nota un tale passaggio, ma: questo può essere fatto in un modo più semplice Forse usando il BY in alcun modo Grazie per le vostre idee e aiuto credo che il modo più semplice è quello di utilizzare PROC EXPAND: e come accennato in Johns commento, è importante ricordo di valori mancanti (e su inizio e la fine osservazioni pure). Ive ha aggiunto l'opzione SETMISS al codice, come ha chiarito che si desidera zerofy valori mancanti, non li (comportamento MOVAVE default) ignorare. E se si desidera escludere primi 4 osservazioni per ogni utente (in quanto essi non hanno abbastanza preistoria per calcolare media mobile 5), è possibile utilizzare l'opzione TrimLeft 4 all'interno TRANSFORMOUT (). risposto dic 3 13 a 15: 29Beginning nella Release 6.08 del Sistema SAS, PROC EXPAND nel software SASETS può essere usato per fare una varietà di trasformazioni di dati. Queste trasformazioni sono: cavi, ritardi, ponderate e non ponderati medie mobili, somme e somme cumulative, in movimento solo per citarne alcuni. Molte nuove trasformazioni sono state aggiunte nella versione 6.12, comprese le specifiche distinte per le medie mobili centrate e arretrate. Queste nuove trasformazioni hanno reso necessario modificare la sintassi per alcune delle trasformazioni supportate prima di rilasciare 6.12. Esempi di come specificare la sintassi per medie mobili centrate e indietro utilizzando uscita 6.11 e precedenti e Release 6.12 e in seguito sono riportati di seguito. PROC EXPAND grado di calcolare sia una centrato media mobile o di una media mobile a ritroso. A 5-periodo centrata media mobile viene calcolato facendo la media di un totale di 5 valori consecutivi della serie (il valore del periodo corrente oltre ai due valori immediatamente precedenti e due valori immediatamente successivi al valore attuale). Una media all'indietro mobile a 5 periodi è calcolato facendo la media del valore del periodo corrente con i valori dei 4 periodi immediatamente precedenti. La sintassi seguente illustra come utilizzare le specifiche TRASFORMARE (MOVAVE n) per calcolare un 5-periodo centrato media mobile utilizzando uscita 6.11 o precedenti: Per calcolare un periodo di n all'indietro media mobile utilizzando uscita 6.11 o versioni precedenti, fare uso della trasformazione (MOVAVE n GAL k) specifica, dove k (n-1) 2 se n è dispari o dove k (n-2) 2 se n è pari. Ad esempio, la seguente sintassi illustra come calcolare un 5-periodo medio all'indietro in movimento con uscita 6.11 o precedenti: la seguente sintassi illustra come utilizzare le specifiche TRASFORMARE (CMOVAVE n) per calcolare un 5-periodo di media mobile centrata utilizzando uscita 6.12 o in movimento in seguito: la seguente sintassi simile illustra come utilizzare le specifiche TRASFORMARE (MOVAVE n) per calcolare un 5-periodo medio all'indietro in movimento con uscita 6.12 o versioni successive: per ulteriori informazioni, vedere operazioni di trasformazione nel capitolo EXPAND dei SASETS utenti Guida. Se non si ha accesso a SASETS, è possibile calcolare una media mobile nel passaggio DATA come illustrato in questo programma di esempio. Sistema operativo e le operazioni di uscita InformationThe che può essere utilizzato nelle opzioni TRANSFORMIN e TRANSFORMOUT sono mostrati nella Tabella 14.1. Le operazioni vengono applicate a ciascun valore della serie. Ogni valore della serie è sostituito dal risultato dell'operazione. Nella Tabella 14.1. o x rappresenta il valore della serie in un determinato periodo di tempo t prima dell'applicazione della trasformazione, rappresenta il valore della serie risultato, e N rappresenta il numero totale di osservazioni. La notazione n indica che l'argomento n è opzionale il valore predefinito è 1. La finestra della notazione è usata come argomento per gli operatori statistiche in movimento, e indica che è possibile specificare un numero intero di periodi n o un elenco di n pesi parentesi. La sequenza è la notazione usata come argomento per gli operatori di sequenza, e indica che è necessario specificare una sequenza di numeri. La notazione s indica la lunghezza della stagionalità, ed è un argomento obbligatorio. Tabella 14.1 operazioni di trasformazione in movimento Tempo Finestra Operatori Alcuni operatori calcolano le statistiche di un insieme di valori all'interno di una finestra temporale in movimento Questi sono chiamati gli operatori di finestre temporali in movimento. Ci sono versioni centrati e arretrate di questi operatori. Gli operatori di finestre temporali in movimento centrati sono CMOVAVE, CMOVCSS, CMOVGMEAN, CMOVMAX, CMOVMED, CMOVMIN, CMOVPROD, CMOVRANGE, CMOVRANK, CMOVSTD, CMOVSUM, CMOVTVALUE, CMOVUSS, e CMOVVAR. Questi operatori calcolare le statistiche dei valori per le osservazioni. Gli operatori si muovono finestra tempo arretrati sono MOVAVE, MOVCSS, MOVGMEAN, MOVMAX, MOVMED, MOVMIN, MOVPROD, MOVRANGE, MOVRANK, MOVSTD, MOVSUM, MOVTVALUE, MOVUSS, e MOVVAR. Questi operatori calcolare le statistiche dei valori. Tutti gli operatori di finestre temporali in movimento accettano un argomento che specifica il numero di periodi da includere nella finestra di tempo. Ad esempio, l'istruzione seguente calcola un periodo di cinque all'indietro media mobile di X. In questo esempio, la trasformazione risultante è la seguente istruzione calcola un periodo di cinque centrata media di X movimento. In questo esempio, la trasformazione risultante è Se la finestra con un movimento dell'operatore finestra temporale centrata non è un numero dispari, un valore più ritardato del valore piombo è incluso nella finestra di tempo. Ad esempio, il risultato dell'operatore CMOVAVE 4 è possibile calcolare una operazione finestra temporale in avanti in movimento, combinando un motore della finestra di tempo in movimento a ritroso con l'operatore REVERSE. Ad esempio, l'istruzione seguente calcola un periodo di cinque forward media mobile di X. In questo esempio, la trasformazione risultante è Qualche volta mobile operatori finestra consentono di specificare un elenco di valori di peso per calcolare le statistiche ponderate. Questi sono CMOVAVE, CMOVCSS, CMOVGMEAN, CMOVPROD, CMOVSTD, CMOVTVALUE, CMOVUSS, CMOVVAR, MOVAVE, MOVCSS, MOVGMEAN, MOVPROD, MOVSTD, MOVTVALUE, MOVUSS, e MOVVAR. Per specificare un operatore di finestra di tempo mobile ponderata, immettere i valori di peso tra parentesi dopo il nome dell'operatore. La larghezza della finestra è uguale al numero di pesi che si specifica non specificare. Ad esempio, l'istruzione seguente calcola un ponderato cinque periodo centrato media di X in movimento. In questo esempio, la trasformazione risultante è I valori di peso deve essere maggiore di zero. Se i pesi non sommano a 1, i pesi specificati sono divisi per la loro somma per produrre i pesi utilizzati per calcolare la statistica. Una finestra di tempo completa non è disponibile all'inizio della serie. Per gli operatori centrati una finestra completa non è inoltre disponibile alla fine della serie. Il calcolo degli operatori di finestre temporali in movimento viene regolato per queste condizioni al contorno come segue. Per gli operatori cristallo mobile arretrate, la larghezza della finestra di tempo si accorcia all'inizio della serie. Ad esempio, i risultati dell'operatore MOVSUM 3 sono valori mancanti È possibile troncare la lunghezza della serie risultato utilizzando il TRIM, TrimLeft, e gli operatori TrimRight per impostare i valori a mancare all'inizio o alla fine della serie. È possibile utilizzare queste funzioni per tagliare i risultati del movimento operatori finestra di tempo in modo che la serie di risultati contiene solo i valori calcolati da una finestra di tempo di grande ampiezza. Ad esempio, le istruzioni seguenti calcolano un centrata cinque periodo medio di X movimento. e fissati in valori mancanti alle estremità della serie che sono medie di meno di cinque valori. Normalmente, la finestra temporale in movimento e gli operatori statistiche cumulative ignorano i valori mancanti e calcolare i risultati per i valori non mancanti. Quando preceduto dall'operatore NOMISS, queste funzioni producono un risultato mancante eventuale valore all'interno della finestra temporale è mancante. L'operatore NOMISS non esegue alcun calcolo, ma serve a modificare il funzionamento del motore della finestra di tempo mobile che segue. L'operatore NOMISS ha effetto se non è seguita da un operatore finestra di tempo in movimento. Ad esempio, l'istruzione seguente calcola una media mobile di cinque periodo della variabile X, ma produce un valore mancante quando uno dei cinque valori sono mancanti. La seguente dichiarazione calcola la somma cumulativa della variabile X, ma produce un valore mancante per tutti i periodi successivi al primo valore X mancante. Simile all'operatore NOMISS, l'operatore MISSONLY non esegue alcun calcolo (a meno seguito dall'opzione MEAN), ma serve a modificare il funzionamento del motore della finestra di tempo mobile che segue. Quando preceduto dall'operatore MISSONLY, questi operatori di finestre temporali in movimento sostituire i valori mancanti con la statistica in movimento e lasciano valori non mancanti invariati. Ad esempio, la seguente dichiarazione sostituisce tutti i valori mancanti della variabile x con una media mobile esponenziale ponderata dei valori passati di X e lascia invariati valori non mancanti. I valori mancanti sono interpolati utilizzando la media mobile esponenziale ponderata specificata. (Questo è anche chiamato semplice livellamento esponenziale.) La seguente dichiarazione sostituisce tutti i valori mancanti della variabile x con la media globale di X. È possibile utilizzare l'operatore SETMISS di sostituire i valori mancanti con un numero specificato. Ad esempio, la seguente istruzione sostituisce i valori mancanti della variabile X con il numero 8.77. Classica decomposizione Operatori Se è una serie storica di stagione con osservazioni a stagione, i metodi di decomposizione classici abbattere la serie storica in quattro componenti: di tendenza, ciclo, stagionale, e fattori erratici. I componenti di trend e ciclabili sono spesso combinati per formare la componente di trend-ciclo. Ci sono due forme di base di decomposizione classica: moltiplicativi e additivi, che sono mostriamo di seguito. Esempi di utilizzo Gli indici stagionali moltiplicativi sono 0.9, 1.2. 0.8 e 1.1 per i quattro quarti. Sia SEASADJ una variabile serie storiche trimestrali che è stato destagionalizzato in modo moltiplicativo. Per ripristinare la stagionalità di SEASADJ utilizzare la seguente trasformazione: Gli indici stagionali additivi sono 4.4, -1.1, -2.1, e -1,2 per i quattro trimestri. Sia SEASADJ una variabile serie storiche trimestrali che sono stati delle variazioni stagionali additivo moda. Per ripristinare la stagionalità di SEASADJ utilizzare la seguente trasformazione: Impostare operatori per gli operatori set, il primo parametro,, rappresenta il valore di essere sostituito e il secondo parametro,, rappresenta il valore di sostituzione. La sostituzione può essere localizzato a inizio, metà o fine della serie. Esempi di utilizzo Supponiamo che un negozio aperto di recente e che la storia delle vendite viene memorizzato in un database che non riconosce i valori mancanti. Anche se la domanda può essere stata presente prima dei negozi di apertura, questo database assegna il valore zero. Modellazione la storia di vendita può essere problematico perché la storia delle vendite è in gran parte a zero. Per compensare questa carenza, i principali valori zero devono essere impostati a mancare con i restanti valori zero invariati (che rappresentano alcuna richiesta). Allo stesso modo, si supponga che un negozio è chiuso di recente. La domanda può essere ancora presente e, quindi, un valore registrato di zero non rispecchiare con precisione la domanda effettiva. Operatore scala

No comments:

Post a Comment