Login  Register

Re: zero times sysmis equals 0. why?

Posted by Art Kendall on Mar 19, 2011; 1:34pm
URL: http://spssx-discussion.165.s1.nabble.com/zero-times-sysmis-equals-0-why-tp3783714p4067673.html

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