Re: muunnokset paneelidatalle

[vastaus aiempaan viestiin]

Kirjoittaja: Seppo Mustonen
Sähköposti:    -
Päiväys: 9.5.2003 12:25

On ilmeistä, ettei toivomaasi log-vuosimuutosten laskentaa saa Survolla
suoraan tehdyksi ilman pientä parannusta TRANSFORM-toimintoon.
Teinkin välittömästi uuden muunnoksen
TRANSFORM <data> BY #DIFF
ko. Survo-ohjelmaan ja se laskee (ehdoitta) peräkkäisten havaintoarvojen
erotukset kaikilla aktiivisilla muuttujilla ja korvaa siis alkuperäiset
havaintoarvot näillä erotuksilla. Vain ensimmäinen havainto jää
ennalleen.
Seuraava suppea esimerkki näyttää, miten saat laskettua (mielestäni
varsin kätevästi) ko. muutokset ositteittain:
.......................................................................
Koeaineisto, jossa kolme varsinaista muuttujaa X1,X2,X3, peräkkäisiä
vuosia 3 ja ositteita 3:
DATA K
Nimi   Vuosi  X1      X2      X3
N1       1   11.243  11.533  12.036
N1       2   11.476  11.754  12.576
N1       3   11.612  11.833  12.837
N2       1   20.333  20.444  20.541
N2       2   20.461  20.731  20.786
N2       3   20.600  20.889  21.037
N3       1   32.123  32.590  32.959
N3       2   32.752  32.920  33.166
N3       3   33.566  33.228  34.026

FILE DEL K2
FILE COPY K TO K2 / Siirto Survon datatiedostoon K2
.......................................................................
MASK=--AAA / Aktiivisten muuttujien osoittaminen
             laajassa aineistossa tietenkin FILE ACTIVATE-komennolla
TRANSFORM K2 BY log(X) / Aktiivisten muuttujien logaritmointi
TRANSFORM K2 BY #DIFF  / Erotusten laskenta (tämä on siis uusi juttu!)
.......................................................................
FILE LOAD K2 / Aineisto muunnoksen jälkeen
DATA K2*,A,B,C
 Ni Vuosi     X1     X2     X3
 N1     1  2.420  2.445  2.488
 N1     2  0.021  0.019  0.044
 N1     3  0.012  0.007  0.021
 N2     1  0.560  0.547  0.470
 N2     2  0.006  0.014  0.012
 N2     3  0.007  0.008  0.012
 N3     1  0.444  0.445  0.449
 N3     2  0.019  0.010  0.006
 N3     3  0.025  0.009  0.026
.......................................................................
"Turhien havaintojen poisto":
IND=Vuosi,2,3
FILE DEL K3
FILE COPY K2 TO K3 / Kopiointi tiedostoksi K3
.......................................................................
FILE LOAD K3 / Lopullinen log-vuosimuutosten aineisto
DATA K3*,D,E,F
 Ni Vuosi     X1     X2     X3
 N1     2  0.021  0.019  0.044
 N1     3  0.012  0.007  0.021
 N2     2  0.006  0.014  0.012
 N2     3  0.007  0.008  0.012
 N3     2  0.019  0.010  0.006
 N3     3  0.025  0.009  0.026

Lähetän uusitun ohjelmatiedoston _TRANSFO.EXE sinulle henkilökohtaisen
viestin liitetiedostona, jotta pääset kokeilemaan.
Se tulee kopioida SURVO MM:n ohjelmahakemistoon <Survo>\U\
entisen version tilalle.
Tämä uusi TRANSFORM <data> BY #DIFF tulee mukaan yleisesti seuraavassa
versiossa 1.35.

> Yleisemminkin olen kiinnostunut siitä, miten SURVOSSA hoidetaan
> aineiston splittaukset silloin, kun samoja operaatiot (esim.
> regressiomallin estimointi) tehdään vaikkapa 500 sadalle ositteelle.
> Tällöin IND, CASES,.. rajoittimien avulla käsipelillä puuhastelu ei
> ole kovinkaan tervejärkistä meininkiä.
Olet oikeassa, mutta "käsipeli" on mielestäni tässä täysin mahdollista
korvata tekemällä sopivia sukroja, joilla saat koko homman
automatisoiduksi.

Terveisin Seppo M.

Vastaukset:

Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!

Etusivu  |  Keskustelu
Copyright © Survo Systems 2001-2013. All rights reserved.
Updated 2013-06-15.