onsdag 15 september 2021

Hämta in Excelfil med datum

 Hej och välkommen tillbaks efter sommaren till en ny höstsäsong,

Jag fick in en fråga om besväret att få över en Excelfil till SPSS där datumformaten blev till textformat istället för datumformat. Jag försökte läsa in en sådan Excelfil på 2 sätt och i ena fallet blev det fel och i andra fallet korrekt.


Så här ser Excelfilen ut


Om jag läser in filen som CSV-fil från kommandot Open Data så blir det fel för mig. Ni ser här att datumen fått formatet string (se röda inringningen):


Däremot om jag ser till att filen är sparad som Excelfil och sen väljer Open Data - och väljer XLSX-formatet så blir det faktiskt korrekt (se nedan):

Datumet får ett datumformat och klockslaget får ett klockslagsformat (också en form av "datumformat")


Har någon annan haft problem med datum?

Hälsn Gunilla


fredag 18 juni 2021

17 juni - snedfördelat och olika testresultat samt inlägg från en användare

 Hej, sommaren är här och jag tar sommarlov fram till någon gång i augusti med bloggandet. Fortsätt skicka frågor ändå, så svarar jag vid tillfälle och bloggar om det i höst.

Jättekul när ni svarar på mina blogginlägg, läs längst ned om Roberts inlägg om centrala gränsvärdessatsen, så som han tänker runt det.

Om du vill lära dig mer om val av test, hur man kollar normalfördelning så kan jag varmt rekommendera Statistikakademins introduktionskurs SPSS 1: (se länk). Ja kommer bara snudda lite vid sånt som tas upp under kursen nedan, träning ger färdighet och man lär sig ju mer statistik man gör. 


Data-materialet

Först tänkte jag visa hur om datat såg normalfördelat ut och sen tänkte jag testa 2 grupper och visa hur olika resultat det blir om jag väljer vanligt t-test jämfört med ickeparametriska alternativet 

Så här ser variablerna ut som jag ska testa mot varandra, antal dagar i veckan som varje person kollade TV och gruppvariabeln buyfona: om de är intresserade att köpa en film-prenumeration.

Det är inte många personer i ja-gruppen (ja: 16, nej:70).



Normalfördelat eller snedfördelat?

Först kollar jag om det är normalfördelat med kommandot "Explore" (Analyze - Descriptive Statistics)


I plots-knappen brukar jag lägga till "normality tests" och "histogram".

Jag brukar först ta en titt på histogrammen och boxplottarna, och tycker det ser snett ut i båda grupperna.

Histogrammet på nej-gruppen visar snedfördelning tydligt, de flesta kollar TV 7 dagar i veckan 


Kollar jag i boxplotten så kan jag få en bra bild av båda grupperna och ser att medianen i JA-gruppen är 7 dagar och medianen i NEJ-gruppen är 6 dagar. Den individ nr 71 som ligger i Ja,gruppen kommer dra ner medelvärdet kommer ni se längre ned.


Kollar jag den beskrivning som också kommer ut så ser jag att medelvärde och median tycks skilja dig en del i JA-gruppen (se de 2 övre blå ringarna). 
Just när det är så få som 16 personer så är det känsligt när det är snedfördelat och medelvärdet och medianen skiljer sig åt. Vi pratade förra veckan om centrala gränsvärdessatsen där man på många håll ser att har man över 30 personer blir det inte lika känsligt (se även Roberts inlägg längre ned).



Om skewnessvärdet (röda) är minst dubbelt så stor som den siffran bredvid (std error) så kan det också tyda på snedfördelning.


Grupp tester som visar OLIKA resultat

Då kommer det känsliga och det är om jag väljer olämpligt test så blir grupperna signifikant skilda ifrån varandra och om jag väljer ett mer stabilt ickeparametriskt test blir de inte signifikant skilda. 

Det olämpliga testet är t-test, den bygger på medelvärden och eftersom medelvärdet och medianen skilde sig i den lilla gruppen med 16 personer så kommer det påverka resultatet. Medelvärdet drogs ner av en person till 6 och det kommer resultera i en signifikant skillnad mellan JA - och NEJ-gruppen. P-värdet är bara 0.004!


Om vi kollar det ickeparametriska testet Mann Whitney U, så blir det ickesignifikanta skillnader mellan JA och NEJ-gruppen (p-värdet är 0.071)



Så jag säger att det nedre testet är korrekt att använda när man har så få som 16 personer och det är så snedfördelat så medelvärden och t-test är olämpligt.


Men om de nu varit fler än 30 personer (eller 40 som jag också sett som gränsvärde), hade det blivit mer stabilt då och hade det varit ok att använda t-test trots allt? Det här vågar jag inte svara på, men enligt centrala gränsvärdessatsen så kan man tydligen tolka att det är OK att köra t-test. Men i ärlighetens namn skulle jag inte våga. 

Som jag brukar säga på kursen SPSS 1 (Statistikakademin: det är aldrig fel att ta ickeparametriskt test om man är osäker)

Se Roberts inlägg hur han resonerar:

Jag läste detta om CGS och normalfördelningen, en viktig fråga som många stöter på. Tumregeln om minst 30 är ju ett helt korrekt svar på hur många observationer som behövs för att ett medelvärde ska uppföra sig någorlunda i linje med en normalfördelning. Den frågan kan vara viktig. Men samtidigt är det kanske en annan fråga som styr om man ska överge t-test till förmån för någon icke-parametrisk metod, jag tänker mig något i stil med ”Klarar de t-fördelningsbaserade metoderna av så små stickprov som jag råkar ha?”. Och där har det visat sig att de metoderna ändå är förhållandevis robusta. Det fick jag inte lära mig själv i grundutbildningen på stenåldern, utan det dök upp i en kursbok som jag använde på LTU för rätt länge sedan, Basic Practice of Statistics av David Moore.

 Bild 1 : ur kursboken


Bild 2 ur kursboken: 



De bifogade bilderna är hämtade från den boken, och bild 2 är kanske särskilt relevant. Där hävdas att det i t-test för två stickprov och med små stickprov, typ högst 15, krävs att man kan använda normalfördelningen för att beskriva variablerna. Med fler räcker det att variablerna är någorlunda symmetriskt fördelade. Med någorlunda stora stickprov kan man skotta in nästan vad som helst, t-testet pallar med avvikelser från normalfördelningsmönstret. Det har rimligen delvis med CGS att göra, men är ändå inte riktigt samma sak.

 

Det finns referenser också, de Moore hänvisade till är

 

1)      Posten, H., The robustness of the two-sample t-test over the Pearson system, Journal of Statistical Computation and Simulation, 6(1978), pp. 295-311

 

2)      Posten, H. et al, Robustness of the two-sample t-test under violations of the homogeneity assumption”, Communications in Statistics, 11 (1982) pp. 109-126.

 

En liten detalj kring detta med att testa fördelningsantaganden. Med små stickprov kan man så gott som aldrig påvisa avvikelser från (ex) normalfördelningen. Och riktigt stora material kommer aldrig att vara i linje med normalfördelningen, och det är väl rätt rimligt. Att verkliga mätningar skulle uppföra sig som en matematisk funktion är rätt orimligt. Men om frågan är om man kan använda t-test för att jämföra två populationsgenomsnitt så är det alltså kanske inte så himla viktigt att veta om normalfördelningen passar eller inte?


-- Slut på Roberts inlägg --



torsdag 10 juni 2021

11 juni - Antal för att anta normalfördelning och info om version 28

 Hej, jag börjar med den viktigaste informationen: 

Vänta med version 28

Vänta med att uppdatera till SPSS version 28, tills det finns mer information om den. En kollega till mig på Statistikakademin har upptäckt en eventuell bugg - och det gäller selektering. 

Det ser ut som att vid selektering så blir inte datat filtrerat utan det som inte valts ut kastas! Kanske det är någon knapp man ska välja? Är det någon som redan laddat ner version 28 och upptäckt detta, och kanske har någon lösning?

En fråga om antal:

Fråga: Om man har en tillräckligt stor sample, vill många påstå att man kan anta normalfördelning. I praktiken, vart sätts gränsen för "stor" ? 

Svar: Jag brukar inte följa den här principen  men vet att många andra gör det, så jag fick googla. På 2 ställen hittade jag samma svar och det var 30 personer. Den siffran har jag hört i andra sammanhang tex hur många behöver jag i varje grupp för att tycka att kvaliteten på statistiska tester är bra. 

Någon annan som har ett annat svar?

Här är lite information jag googlat fram:

Googling 1: Hur stort stickprov som behövs för att normalfördelningen skall kunna användas som en approximativ modell beror på hur populationsfördelningen ser ut. • Tumregel: I de flesta fall är normalfördelningen en tillräckligt god approximation redan vid stickprovsstorleken 30

Texten är fr bild 14 i denna presentation (pdf-fil)

Googling 2: Centrala gränsvärdessatsen anger att om du har ett stort antal oberoende utfall av något som inte är normalfördelat, så kan du approximera med en normalfördelning. "Stort antal" är alltså 30 eller mer.

Texten kopierad från denna länk

Nytt i version 28

Här har jag klippt ut nyheterna för version 28, men det är antagligen mer än detta som är nytt.
SPSS Statistics 28 enhancements include new statistical analysis, improvements to existing procedures, and usability improvements that can help organizations increase overall productivity. SPSS Statistics 28 includes the following new features and capabilities:
  • Meta-analysis for continuous and binary outcomes, as well as meta- regression
  • Power analysis enhancement to show a graphical representation of results
  • Additional enhancements to ratio statistics, one-sided t-test, reference category for in logistic regression, and COXREG
  • A new file type that combines syntax and output into a workbook
  • High-contrast accessibility support
  • New data visualization to compare connections between variables with a relationship map
  • Improved search functionality with additional alias support
  • A new side pane table editor that reduces clicks to completion

torsdag 3 juni 2021

4 juni - ersätta ord i output

 Hej, alla resultat kommer ut på engelska förutom de egna etiketterna du skapat själv som kanske har svensk text. 

Fråga: Hur ersätter man de engelska orden i resultatet till svenska?

Svar: På samma sätt som i andra programvaror... använd kommandot: Edit - Replace 

inne i Output-fönstret (dvs Viewer).

Se nedan resultat, säg att jag vill ersätta Frequency till Antal i alla frekvenstabeller:


Inne i outputfönstret: Kör kommandot: Edit - Replace 

Skriv in det ord du vill ersätta (Frequency) och det nya ordet (Antal): 

Du får ett meddelande hur många ändringar som gjorts:



Resultat:

Ha en skön, solig helg!

Gunilla







torsdag 27 maj 2021

28 maj - SPSS bugg Mac Catalina och hur du kollar vilken version och vilka moduler du har

Hej, 

Bugg i SPSS för Mac Catalina

Ni minns kanske buggen som en Macintosh-användare (med Mac OS Catalina) upptäckt när hon skulle jobba med korstabell-syntax och att Paste-knappen saknades i dialogboxen  "Öppna datafiler". Svaret från supporten kom via Crayon och det korta svaret är att uppgradera till version 27.0.1 . Men mer information hittar du längst ner i detta inlägg.


Kolla vilken SPSS-version du har - meny
För att kolla vilken SPSS version du har så  
gå till menyn: Help - About
 
Då ser du versionsnumret längst ned på den bild som dyker upp, jag har tex 27.0.0.




Kolla vilka moduler du har - via syntax
Ett annat sätt att kolla vilken SPSS version du har (fast du får inte sista siffran som hade behövts här) och dessutom få reda på vilka moduler du har installerat är att öppna ett tomt syntaxfönster:

Meny: File - New - Syntax

Skriv: Show License.

Markera texten du skrev och klicka sen på den gröna triangeln i "Toolbar" (dvs Run Current) så kommer du få en lista i output-fönstret, med alla moduler du har installerat och vilken version av SPSS du har.



Resultatet med modulerna kommer alltså i output-fönstret:





Mer information om buggen för SPSS Macintosh OS Catalina

We have investigated the behaviors and it seems that your Customer is working with SPSS 27.0.0.0 instead of the newest release 27.0.1. 


Below the APARs found for the behaviors described: 

a) an SPSS user running Macintosh Catalina has noticed that the "Paste" button is missing when opening a data file and wants to paste the command (as syntax)

Here there is NOT a know issue with the same description. I could find the following APARs: 

·       PH31929: UNDO CUT AND PASTE CAN NOT GET DATA TO ORIGINAL STATUS at https://www.ibm.com/support/pages/apar/PH31929

·       PH28511: COPY/PASTE MICROSOFT OFFICE GRAPHICS OBJECT TO EXCEL MOVES THE AXIS LABELS at https://www.ibm.com/support/pages/apar/PH28511

·       PH29546: PASTE TOOL BUTTON DOES NOT PASTE at https://www.ibm.com/support/pages/apar/PH29546


b) The user's application was also shut down when she wrote a crosstabs syntax, which also sounds like a bug. However, other syntax worked to run.

This is related with the APAR PH29610 
https://www.ibm.com/support/pages/apar/PH29610
You can solve this issue by upgrading to IBM SPSS Statistics 27.0.1

söndag 23 maj 2021

24 maj - Statistik i kommandot Frequencies

 Hej, hoppas ni haft en härlig pingst. Två fredagar försvann pga ledighet, så därför kommer dagens inlägg på en måndag morgon istället.


Fråga: Jag vill få ut medelvärde, median, standardavvikelse och kvartiler men får ut alldeles för mycket statistik i Explore-kommandot och Descriptive-kommandot ger för lite.


Svar: Om du inte har Tables-modulen (där du kan styra det mesta av statistiken) så kan du använda Frequencies- kommandot och ta bort förbockningen av själva frekvenstabellen (som bara används när man har några få kategorier).


Exempel: Jag vill ta fram några få statistiska mått för lön.

Kommando: Analyze - Descriptive Statistics - Frequency

Dialogboxen, ta bort bocken för  Display frequency tables och klicka sen på Statistics-knappen: 



Då får du upp följande dialogbox (med subkommandon) och kan välja själv vilka statistiska mått du vill ha:



Klicka på knappen Continue och sen knappen OK och du får då följande komprimerade innehåll:



Ha en bra arbetsvecka!

Gunilla





fredag 7 maj 2021

7 maj - fortsättning på hitta lika svar samt Macintosh Catalina problem

 Hej, 

jag fick ett smart alternativ till förra fredagens lösning, från en av er användare som jag tänkte visa er idag. Ibland kan man lösa ett problem på flera sätt. Men först skulle jag vilja fråga er en sak, som kom upp på veckans SPSS syntaxkurs som jag höll.

Fråga ang Macintosh: 

Är det någon mer som kör SPSS version 27 för Macintosh OS Catalina och märkt att knappen ”Paste” saknas när man ska öppna en datafil och vill klistra in kommandot (som syntax)?

Jag har inte lyckats googla fram ifall det är en bugg.

Användarens program stängdes också ner när hon skrev en crosstabs-syntax, vilket också låter som en bugg. Andra syntax fungerade att köra. 

Är det någon som vet mer?


Extra lösning till förra veckans problem: 

Här en repetering av problemet: Hur kodar jag svaren från de 2 vänstra variablerna till 1 när de har exakt lika svar? Problemet är att när de två variablerna har tomma svar så uppfattas de som lika svar och det vill inte användaren. (Nyvar är från förra veckans lösning)


Det smarta tipset jag fick var att döpa om de tomma svaren till en kod i ena variabeln och en kod i den andra variabeln. Enklast är det förstås när det är numeriska variabler för då utnyttjar man system missing, men det här är STRING-variabler då tomma uppfattas som en textsträng.

Ta en säkerhetskopia av din datafil för säkerhets skull innan. 

Välj kommandot "Transform - Recode into same variable"

Lägg in ett mellanslag under "Value" vid Old Value -delen. 
Hitta på ett nytt Value i högra delen (Här Bortfall1)
Klicka på Add.



När du klickat på "Add" kommer det se ut så här: 


Resultat:


Nu kan vi skapa nya variabeln "Nyvar2" då vi vill att om svaren är lika i Textvar1 och Textsvar2 får de koden 1 och annars 0.

Det här är smartas att göra i kommandot: Transform - Compute



Med det enkla uttrycket så kommer det med automatik ge den kodningen vi vill ha, se nedan: 


Ha en skön helg!
Gunilla


Kan du inte mata in MINUS-tal i dialogboxarna?

Har du också varit med om att du inte kan mata in minustal inne i dialogboxarna i SPSS Statistics? Till exempel i RECODE-kommandot. När jag ...