zero times sysmis equals 0. why?

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

zero times sysmis equals 0. why?

msherman

Dear list: I just multiplied zero times sysmis and the result was a zero.  I wasn’t expecting that.  Is that something new to IBM SPSS 19.0?

 

Martin F. Sherman, Ph.D.

Professor of Psychology

Director of  Masters Education in Psychology: Thesis Track

 

Loyola University Maryland

Department of Psychology

222 B Beatty Hall

4501 North Charles Street

Baltimore, MD 21210

 

410-617-2417

[hidden email]

 

Reply | Threaded
Open this post in threaded view
|

Re: zero times sysmis equals 0. why?

Art Kendall
It is a general math assumption that zero in the numerator yields zero as the result no matter what is in the denominator. (How ever dividing by zero is undefined.)

zero /something = 0.  How many somethings in nothing? None. (can be done but one would often want to assign a user missing value when there is a zero numerator)

something/zero = unknown. How many nothings in something? meaningless. (cannot be done, results in sysmis.)

Art Kendall
Social Research Consultants

On 3/16/2011 10:48 AM, Martin Sherman wrote:

Dear list: I just multiplied zero times sysmis and the result was a zero.  I wasn’t expecting that.  Is that something new to IBM SPSS 19.0?

 

Martin F. Sherman, Ph.D.

Professor of Psychology

Director of  Masters Education in Psychology: Thesis Track

 

Loyola University Maryland

Department of Psychology

222 B Beatty Hall

4501 North Charles Street

Baltimore, MD 21210

 

410-617-2417

[hidden email]

 

===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD
Art Kendall
Social Research Consultants
Reply | Threaded
Open this post in threaded view
|

Re: zero times sysmis equals 0. why?

Rick Oliver-3
In reply to this post by msherman
It's always been that way. The logic is that anything times 0 is 0, even if the quantity being multiplied by zero is unknown.



From:        Martin Sherman <[hidden email]>
To:        [hidden email]
Date:        03/16/2011 09:52 AM
Subject:        zero times sysmis equals 0. why?
Sent by:        "SPSSX(r) Discussion" <[hidden email]>




Dear list: I just multiplied zero times sysmis and the result was a zero.  I wasn’t expecting that.  Is that something new to IBM SPSS 19.0?
 
Martin F. Sherman, Ph.D.
Professor of Psychology
Director of  Masters Education in Psychology: Thesis Track
 
Loyola University Maryland
Department of Psychology
222 B Beatty Hall
4501 North Charles Street
Baltimore, MD 21210
 
410-617-2417
msherman@...
 
Reply | Threaded
Open this post in threaded view
|

Re: zero times sysmis equals 0. why?

Jon K Peck
In reply to this post by msherman
It has been like that forever.  You can find a table of these results in the CSR.

Whether this is appropriate depends on how you view SYSMIS.  Since x/0 is SYSMIS, you could argue that 0*SYSMIS should be SYSMIS, but if SYSMIS results from something finite, then 0*SYSMIS should be zero.

Regards,

Jon Peck
Senior Software Engineer, IBM
[hidden email]
312-651-3435




From:        Martin Sherman <[hidden email]>
To:        [hidden email]
Date:        03/16/2011 08:51 AM
Subject:        [SPSSX-L] zero times sysmis equals 0. why?
Sent by:        "SPSSX(r) Discussion" <[hidden email]>




Dear list: I just multiplied zero times sysmis and the result was a zero.  I wasn’t expecting that.  Is that something new to IBM SPSS 19.0?
 
Martin F. Sherman, Ph.D.
Professor of Psychology
Director of  Masters Education in Psychology: Thesis Track
 
Loyola University Maryland
Department of Psychology
222 B Beatty Hall
4501 North Charles Street
Baltimore, MD 21210
 
410-617-2417
msherman@...
 
Reply | Threaded
Open this post in threaded view
|

Re: zero times sysmis equals 0. why?

Alison Papadakis

Martin posted the question for me.  I just subscribed to the list.

 

This default was problematic because I was using a dummy coded nominal variable (males = 0, females = 1) multiplied by a scale variable to create an interaction term.  In that case, the default mathematical assumption of anything times 0 is 0 does not hold.  A missing value times a dummy coded value of 0 should return a missing. 

 

Most SPSS documentation I have seen suggests any operation or function incorporating a missing value results in a missing value, which made the result surprising.  Since the testing of moderation using the product of a dummy coded variable is a common approach, I am concerned about how many people may make the same error that I did and not realize it.  Of course an if statement added to the computation of the interaction term works as a workaround for those who are aware of the default, but how many are aware of the default?

 

From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of Jon K Peck
Sent: Wednesday, March 16, 2011 11:12 AM
To: [hidden email]
Subject: Re: zero times sysmis equals 0. why?

 

It has been like that forever.  You can find a table of these results in the CSR.

Whether this is appropriate depends on how you view SYSMIS.  Since x/0 is SYSMIS, you could argue that 0*SYSMIS should be SYSMIS, but if SYSMIS results from something finite, then 0*SYSMIS should be zero.

Regards,

Jon Peck
Senior Software Engineer, IBM
[hidden email]
312-651-3435




From:        Martin Sherman <[hidden email]>
To:        [hidden email]
Date:        03/16/2011 08:51 AM
Subject:        [SPSSX-L] zero times sysmis equals 0. why?
Sent by:        "SPSSX(r) Discussion" <[hidden email]>





Dear list: I just multiplied zero times sysmis and the result was a zero.  I wasn’t expecting that.  Is that something new to IBM SPSS 19.0?
 
Martin F. Sherman, Ph.D.
Professor of Psychology
Director of  Masters Education in Psychology: Thesis Track
 
Loyola University Maryland
Department of Psychology
222 B Beatty Hall
4501 North Charles Street
Baltimore, MD 21210
 
410-617-2417
[hidden email]
 

Reply | Threaded
Open this post in threaded view
|

Re: zero times sysmis equals 0. why?

Bruce Weaver
Administrator
I'll call your nominal variable FEMALE and your scaled variable X.  If you have FEMALE*X in the model, then you should have both FEMALE and X in the model too.  So any cases where X is missing will be excluded from the model, regardless of whether FEMALE*X is valid or missing.

HTH.


Alison Papadakis wrote
Martin posted the question for me.  I just subscribed to the list.

This default was problematic because I was using a dummy coded nominal variable (males = 0, females = 1) multiplied by a scale variable to create an interaction term.  In that case, the default mathematical assumption of anything times 0 is 0 does not hold.  A missing value times a dummy coded value of 0 should return a missing.

Most SPSS documentation I have seen suggests any operation or function incorporating a missing value results in a missing value, which made the result surprising.  Since the testing of moderation using the product of a dummy coded variable is a common approach, I am concerned about how many people may make the same error that I did and not realize it.  Of course an if statement added to the computation of the interaction term works as a workaround for those who are aware of the default, but how many are aware of the default?

From: SPSSX(r) Discussion [mailto:SPSSX-L@LISTSERV.UGA.EDU] On Behalf Of Jon K Peck
Sent: Wednesday, March 16, 2011 11:12 AM
To: SPSSX-L@LISTSERV.UGA.EDU
Subject: Re: zero times sysmis equals 0. why?

It has been like that forever.  You can find a table of these results in the CSR.

Whether this is appropriate depends on how you view SYSMIS.  Since x/0 is SYSMIS, you could argue that 0*SYSMIS should be SYSMIS, but if SYSMIS results from something finite, then 0*SYSMIS should be zero.

Regards,

Jon Peck
Senior Software Engineer, IBM
peck@us.ibm.com
312-651-3435



From:        Martin Sherman <MSherman@loyola.edu>
To:        SPSSX-L@LISTSERV.UGA.EDU
Date:        03/16/2011 08:51 AM
Subject:        [SPSSX-L] zero times sysmis equals 0. why?
Sent by:        "SPSSX(r) Discussion" <SPSSX-L@LISTSERV.UGA.EDU>
________________________________



Dear list: I just multiplied zero times sysmis and the result was a zero.  I wasn’t expecting that.  Is that something new to IBM SPSS 19.0?

Martin F. Sherman, Ph.D.
Professor of Psychology
Director of  Masters Education in Psychology: Thesis Track

Loyola University Maryland
Department of Psychology
222 B Beatty Hall
4501 North Charles Street
Baltimore, MD 21210

410-617-2417
msherman@loyola.edu<mailto:msherman@loyola.edu>
--
Bruce Weaver
bweaver@lakeheadu.ca
http://sites.google.com/a/lakeheadu.ca/bweaver/

"When all else fails, RTFM."

PLEASE NOTE THE FOLLOWING: 
1. My Hotmail account is not monitored regularly. To send me an e-mail, please use the address shown above.
2. The SPSSX Discussion forum on Nabble is no longer linked to the SPSSX-L listserv administered by UGA (https://listserv.uga.edu/).
Reply | Threaded
Open this post in threaded view
|

Re: zero times sysmis equals 0. why?

Garry Gelade
In reply to this post by Alison Papadakis

If you use the listwise option in your regression analysis, multiplying by a dummy-coded 0 wont cause a problem because cases with a missing value on any variable in the regression will be automatically excluded.  Fortunately, listwise is the SPSS default.

 

Garry Gelade

Business Analytic Ltd

 

From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of Alison Papadakis
Sent: 16 March 2011 15:39
To: [hidden email]
Subject: Re: zero times sysmis equals 0. why?

 

Martin posted the question for me.  I just subscribed to the list.

 

This default was problematic because I was using a dummy coded nominal variable (males = 0, females = 1) multiplied by a scale variable to create an interaction term.  In that case, the default mathematical assumption of anything times 0 is 0 does not hold.  A missing value times a dummy coded value of 0 should return a missing. 

 

Most SPSS documentation I have seen suggests any operation or function incorporating a missing value results in a missing value, which made the result surprising.  Since the testing of moderation using the product of a dummy coded variable is a common approach, I am concerned about how many people may make the same error that I did and not realize it.  Of course an if statement added to the computation of the interaction term works as a workaround for those who are aware of the default, but how many are aware of the default?

 

From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of Jon K Peck
Sent: Wednesday, March 16, 2011 11:12 AM
To: [hidden email]
Subject: Re: zero times sysmis equals 0. why?

 

It has been like that forever.  You can find a table of these results in the CSR.

Whether this is appropriate depends on how you view SYSMIS.  Since x/0 is SYSMIS, you could argue that 0*SYSMIS should be SYSMIS, but if SYSMIS results from something finite, then 0*SYSMIS should be zero.

Regards,

Jon Peck
Senior Software Engineer, IBM
[hidden email]
312-651-3435




From:        Martin Sherman <[hidden email]>
To:        [hidden email]
Date:        03/16/2011 08:51 AM
Subject:        [SPSSX-L] zero times sysmis equals 0. why?
Sent by:        "SPSSX(r) Discussion" <[hidden email]>





Dear list: I just multiplied zero times sysmis and the result was a zero.  I wasn’t expecting that.  Is that something new to IBM SPSS 19.0?
 
Martin F. Sherman, Ph.D.
Professor of Psychology
Director of  Masters Education in Psychology: Thesis Track
 
Loyola University Maryland
Department of Psychology
222 B Beatty Hall
4501 North Charles Street
Baltimore, MD 21210
 
410-617-2417
[hidden email]
 

Reply | Threaded
Open this post in threaded view
|

Re: zero times sysmis equals 0. why?

Art Kendall
In reply to this post by Jon K Peck
If one has a situation where one wants results that differ from the conventional results,� (e.g., 0 * sysmis = 0) more elaborate syntax can usually be written.

I would argue that
to be consistent with conventional mathematics and classical metaphysics.
anything * 0 should be zero.�
anything times nothing should be zero.
How large is no sets of anything? zero.
How much milk is there in no bottles with whatever contents? none.

0 * anything should be zero.
nothing times anything should be zero.
How large is any number of nothings? zero.
How much milk is there in any number of empty bottles? none.

0 * 0 should be zero.
How large is no sets of nothing? zero.
How much milk is there is no bottles that if there were any would be� empty?


I believe that the distinction between user missing (missing for a reason known to the user) and system missing (missing because the software cannot follow instructions in accordance with conventional math or logic i.e., there is no conventional result to the operation asked for) is one of the strengths of SPSS.

When results are sysmis that is a clue that there is something suspicious about the instructions or the data the instructions are to act upon.

A rule of thumb in analysis� that is important is "syntax (or code in other languages) should be redrafted so that it does not produce any suspicious/weird/screwy results".
If an operation produces results with zero values that are legitimately in the domain of the construct, then that is not a problem.� One it is detected why some results are sysmis, then the syntax can be updated to provide a different value that is outside the domain of legitimate values and set as user missing.
compute result_var = numer_var/denom_var.
if denom_var eq 0 result_var = -99999.
missing values result_var (-99999).

If an operation can result in zeros with different meanings (aka dirty zeros), it is useful to improve the syntax to assign different values to result.
e.g.,
do if denom_var eq 0
compute result_var = -99999.
else if numer_var eq 0.
compute result_var = -99998.
else if numer_var eq 0 and denom_var eq 0.
compute result_var eq -99997.
else.
compute result_var = numer_var/denom_var.
end if.
Value labels result_var
� -99999 'zero denominator'
� -99998 'zero numerator'
� -99997 'both zero'.
missing values result_var (lo thru -99990).

I try to use the distinction between system missing and user missing to aid quality assurance.
In my view sysmis means there is something suspicious/weird/screwy about the value of the variable because an operation could not produce results in a conventional manner.
User missing means that the value of the variables is outside the legitimate range of the construct for a known reason.

Art Kendall
Social Research Consultants

On 3/16/2011 11:11 AM, Jon K Peck wrote:
It has been like that forever. � You can find a table of these results in the CSR.

Whether this is appropriate depends on how you view SYSMIS. � Since x/0 is SYSMIS, you could argue that 0*SYSMIS should be SYSMIS, but if SYSMIS results from something finite, then 0*SYSMIS should be zero.

Regards,

Jon Peck
Senior Software Engineer, IBM
[hidden email]
312-651-3435




From: � � � � Martin Sherman [hidden email]
To: � � � � [hidden email]
Date: � � � � 03/16/2011 08:51 AM
Subject: � � � � [SPSSX-L] zero times sysmis equals 0. why?
Sent by: � � � � "SPSSX(r) Discussion" [hidden email]




Dear list: I just multiplied zero times sysmis and the result was a zero. � I wasn’t expecting that. � Is that something new to IBM SPSS 19.0?

Martin F. Sherman, Ph.D.
Professor of Psychology
Director of � Masters Education in Psychology: Thesis Track

Loyola University Maryland
Department of Psychology
222 B Beatty Hall
4501 North Charles Street
Baltimore, MD 21210

410-617-2417
[hidden email]

===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD
Art Kendall
Social Research Consultants