[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!