pspp-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: PSPPire on Windows: Increase the number of decimal places of regress


From: John Darrington
Subject: Re: PSPPire on Windows: Increase the number of decimal places of regression analysis
Date: Mon, 15 May 2017 14:30:55 +0200
User-agent: Mutt/1.5.23 (2014-03-12)

On Sun, May 14, 2017 at 09:23:30PM +0200, Daniel Silverton wrote:
     html><head></head><body<div style="font-family: Verdana;font-size: 
12.0px;"><div>Hello,</div>
     
     <div>&nbsp</div>
     
     <div>I have a question about changing the number of decimal points in the 
output of a PSPP multiple linear regression analysis. It looks like my default 
is 3 decimal places. I&#39;m trying to change this to 6 decimal points, as a 
lot of my sig levels (p-values) are at 0.000 and I need exact p-values for 
publication.</div>
     
     <div>&nbsp;</div>
     
     <div>Having read previous threads, I attempted to run a syntax change in 
the PSSPIRE Syntax editor ( File-&gt;New-&gt;Syntax, 1. SET FORMAT=F12.6 2. 
Execute, Run-&gt;All). All outputs update to 6 decimal points, including R, 
R-squared, beta, t, and F, except the p-values which stay at three decimal 
points. What am I doing wrong?</div>
     
     <div>&nbsp
     
     <divThanks,</div>
     
     <divDS</div></div></body></html>


The short answer is you're doing nothing wrong at all.   You are correct, that
normally SET FORMAT=F12.6 causes values to be reported to 6 decimal places.
However there are a few exceptions and one of those exceptions is p values
(another is degrees of freedom).

This was a decision made a while ago because most people don't want to see 
p-values
to a large number of decimal places.

I think it's important to realise what precision is required in any analysis.
In fact, I remember when I was an undergraduate - I got marked down on one of
my assignments because I had reported some value (I  forget what it was now)
to an absurdly  large number of decimal places (I had naively copied the display
on my pocket calculator).    Whilst the number was not incorrect, the tutor 
marked my answer down, not because it was wrong, but because I had given 
information which was useless - and thus demonstrated that I didn't understand
the general purpose of the exercise.

A P value is a probability.  If PSPP reports a p-value of 0.000 then it means
that the probability of the reported results being acheived through mere 
coincidence
is less than 0.0005  - I wonder why the editors of the journal for which you are
publishing really care if it's 0.0004 or 0.0003 ?

If you really do want higher precision here, then I'm afraid your only choice at
the moment is to change this struct in src/output/tab.c and recompile:

struct fmt_spec ugly[n_RC] = {
  {FMT_F, 8, 0},                /* INTEGER */
  {FMT_F, 8, 3},                /* WEIGHT (ignored) */
  {FMT_F, 8, 3},                /* PVALUE */
  {FMT_F, 8, 3}                 /* OTHER (ignored) */
};


However if you choose to do that, then you should be aware that figures in the 
5th or 6th decimal place might well be different when run on different 
computers,
due to differences in floating point algorithms in their hardware and any
libraries used.  Anyone who decides to check your results might well get 
slightly
different answers.


J'


(PS: Please don't send mail in HTML!!! - as you can see -it makes things 
rather difficult to read!)



-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]