[vastaus aiempaan viestiin]
| Kirjoittaja: | Seppo Mustonen |
|---|---|
| Sähköposti: | - |
| Päiväys: | 18.8.2004 15:05 |
Vastaukseni tulee myöhässä, mutta keskustelin aiheesta Wesan kanssa
välittömästi hänen viestinsä jälkeen, jolloin sovimme, että palaan
asiaan, kun on jotain sanottavaa.
Nyt, koska eräät muutkin näyttävät törmänneen samanlaiseen ongelmaan
(liian monta havaintoarvoa yhtyy luokkarajoihin HISTO:ssa),
vastaan seuraavasti:
Wesan aineisto oli seuraavaa tyyppiä (tässä itseni generoima data):
DATA X: 0.000 1.554 1.397 2.571 0.225 0.000 0.000 0.390 0.000 1.931
1.655 2.758 1.567 2.814 1.132 0.000 2.160 0.443 0.000 3.598 1.630 1.515
2.745 0.269 0.000 0.000 3.862 1.276 1.866 0.267 0.000 0.000 3.952 0.000
0.854 0.000 0.245 0.000 0.359 0.000 0.000 2.535 0.000 3.097 3.137 0.318
3.195 0.000 1.083 0.569 0.000 0.054 0.318 3.529 3.623 0.000 1.285 1.304
0.000 0.000 0.000 1.956 0.000 0.000 0.000 3.702 0.000 2.351 1.838 0.981
0.879 1.377 3.652 1.988 0.691 0.000 3.329 1.782 1.559 0.440 0.884 0.000
1.155 3.995 0.000 3.345 3.551 2.594 0.000 1.399 1.694 0.000 0.000 0.000
0.126 2.433 0.000 0.000 1.706 0.000 END
Jos yrittää piirtää histogramman komennolla
GHISTO X,X,CUR+1 / X=-1(1)5
kuvaa ei todellakaan synny, vaan seuraa virheilmoitus
GPLOT error: Huono luokitus
Liian monta havaintoarvoa yhtyy luokkarajoihin!
Ehdotus: Muuta luokituksen alaraja -1 arvoksi -1.5
koska aineistossa on 36 kpl. nollia. Annetussa luokituksessa
X=-1(1)5 eli luokissa (-1,0], (0,1], (1,2], (2,3], (3,4], (4,5],
joissa koskaan alaraja ei kuulu luokkaan mutta yläraja kuuluu,
nollat sijoittuvat ensimmäisen luokan ylärajalle.
Tämä ei ole järkevää tilastollisen esityksen kannalta. Yleiset
arvot tulee saada mieluiten keskelle luokkaväliä.
Seuraamalla Survon antamaa suositusta tai tässä tapauksessa vielä
paremmin ottamalla ensimmäisen luokan ala-rajaksi -0.5 saadaan
nollat ensimmäisen luokan keskelle ja GHISTO suostuu piirtämään
ja tulostamaan:
GHISTO X,X,CUR+1 / X=-0.5(1)4
Frequency distribution of X in X: N=100
Class midpoint f % Sum %
0.0 48 48.0 48 48.0
1.0 15 15.0 63 63.0
2.0 17 17.0 80 80.0
3.0 11 11.0 91 91.0
4.0 9 9.0 100 100.0
Mean=1.180000 Std.dev.=1.366602
.......................................................................
Wesan aineistossa nollat ilmeisesti vastaavat poikkeuksellisia
havaintoja ja silloin voisi olla parasta joko jättää ne kokonaan pois
(jolloin alkuperäinen luokitus X=0(1)5 on ehkä paras)
tai koodata ne uudelleen esim. arvoiksi -1
DATA Y: -1.00 1.554 1.397 2.571 0.225 -1.00 -1.00 0.390 -1.00 1.931
1.655 2.758 1.567 2.814 1.132 -1.00 2.160 0.443 -1.00 3.598 1.630 1.515
2.745 0.269 -1.00 -1.00 3.862 1.276 1.866 0.267 -1.00 -1.00 3.952 -1.00
0.854 -1.00 0.245 -1.00 0.359 -1.00 -1.00 2.535 -1.00 3.097 3.137 0.318
3.195 -1.00 1.083 0.569 -1.00 0.054 0.318 3.529 3.623 -1.00 1.285 1.304
-1.00 -1.00 -1.00 1.956 -1.00 -1.00 -1.00 3.702 -1.00 2.351 1.838 0.981
0.879 1.377 3.652 1.988 0.691 -1.00 3.329 1.782 1.559 0.440 0.884 -1.00
1.155 3.995 -1.00 3.345 3.551 2.594 -1.00 1.399 1.694 -1.00 -1.00 -1.00
0.126 2.433 -1.00 -1.00 1.706 -1.00 END
jolloin ne kuvassa ja tulostaulukossa saadaan omaksi luokakseen
esim. komennolla
GHISTO Y,Y,CUR+1 / Y=-1.5(1)5
Frequency distribution of Y in Y: N=100
Class midpoint f % Sum %
-1.0 36 36.0 36 36.0
0.0 12 12.0 48 48.0
1.0 15 15.0 63 63.0
2.0 17 17.0 80 80.0
3.0 11 11.0 91 91.0
4.0 9 9.0 100 100.0
5.0 0 0.0 100 100.0
Mean=0.820000 Std.dev.=1.716858
.......................................................................
Keskiarvo ja hajonta ovat tässä tapauksessa vääristyitä, mutta
sitä ne saattavat olla jo alkuperäisestäkin aineistosta laskettuina.
Tällöin on paras tyytyä ehdollisiin tunnuslukuihin tyyliin:
MINSTAT X,CUR+1 / IND=X,0.001,5
Basic statistics of data X N=64
Variable mean stddev N minimum maximum
X 1.820141 1.165469 64 0.054000 3.995000
Todettakoon vielä, että sellaisissa tilanteissa, joissa muuttuja
saa pelkkiä kokonaislukuarvoja esim. 1,2,3,4,5, järkevä luokitus
histogrammoissa on muotoa X=0.5(1)5.5, jolloin todelliset arvot
sijoittuvat luokkien keskelle.
.......................................................................
Jos tällöin pylväiden asemasta haluaa piirtää "tikkuja", jotka
ovat luokkafrekvenssien pituisia, on paras ensin muodostaa
frekvenssijakauma (TAB tai HISTO) ja tehdä siitä Survon data-
taulukko esim. muotoa
DATA FREK
X F
0 12
1 15
2 17
3 11
4 9
5 0
josta tikkumainen frekvenssijakaumaesitys syntyy esim. komentokaaviolla
GPLOT FREK,X,F
XSCALE=-1:_,0(1)5,6:_ Levitetty asteikko vailla reuna-arvojen merkintää
POINT=0,5 Pistetyyppi ja koko
LINE=6 Viivatyyppi, joka sallii "lisäpisteet ja -janat"
LINE2=X,0 Jana pisteestä (X,F) pisteeseen (X,0) eli "tikku"
Tämä on runko, jota voi monin tavoin koristella lisätäsmennyksillä.
* * *
Mitä tulee ruusukekuviin, joita en tunne, sain Wesalta viitteeksi
linkin
http://fountainware.com/compass/graphs.htm
En ole kuitenkaan ehtinyt tehdä asialle mitään. Mikäli näihin löytyy
yleisempää mielenkiintoa, on ehkä syytä luoda uusi kuvatyyppi.
Toisaalta aika lailla vastaavia kuvia pystyttäneen Survossa rakentamaan
peruskuvia kerrostamalla.
- Seppo
| 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!