Re: GHISTOn virheilmoitusten ohittaminen

[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:
[ei vastauksia]

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.