210 likes | 271 Views
S tep-by-step techniques in SPSS Whitney I. Mattson 09/15/2010. A Functional Example of Analyzing Co-occurrence and Sequence of Variables. What is in this Document. How to look at proportions of a behavior How to look at proportion of co-occurrence
E N D
Step-by-step techniques in SPSS Whitney I. Mattson 09/15/2010 A Functional Example of Analyzing Co-occurrence and Sequence of Variables
What is in this Document • How to look at proportions of a behavior • How to look at proportion of co-occurrence • How to look at simple patterns of transition • Using a rate per minute measure • SPSS syntax for the functions described
The Example file • Contains • Repeated rows for each subject • Each row corresponds to the same unit of time • Multiple variables from a 1 to 5 scale • Missing values represent no occurrence • These methods are • Most applicable to files in a similar format • Tools here can be adapted to other cases
How to look at proportions of a behavior • The more traditional way: • Split your file by a break variable, here id SORT CASES BY id. SPLIT FILE LAYERED BY id. • Run Frequencies FREQUENCIES VARIABLES=AU1 /ORDER=ANALYSIS. • This works well • But is limited in what it can tell us
How to look at proportions of a behavior • An aggregation approach: • In Data > Aggregate … • Set your break variable (the same as the split file) • Create two summaries of each variable • Weighted N • Weighted Missing Values • Create a new dataset with only the aggregated variables
How to look at proportions of a behavior DATASET DECLARE Agg. AGGREGATE /OUTFILE='Agg' /BREAK=id /AU1_n=N(AU1) /AU1_nmiss=NMISS(AU1). COMPUTE AU1_prop=AU1_n / (AU1_n + AU1_nmiss). EXECUTE. • The new file contains • A row for each subject • The numerator and denominator for our proportion • The proportion can be calculated with a compute statement • More time consuming • Needed for more complex proportion scores • Proportions can be analyzed
How to look at proportion of co-occurrence • Back to the base file • Compute a value when variables co-occur • Here when there is one valid case of variable AU1 and variable AU4 • Aggregate again • Add in summaries of the new variable • Weighted N • Weighted Missing Values • Compute the proportion of time these two variables co-occur IF (NVALID(AU1)>0 & NVALID(AU4)>0) AU1_AU4=1. EXECUTE. DATASET DECLARE Agg. AGGREGATE /OUTFILE='Agg' /BREAK=id /AU1_n=N(AU1) /AU1_nmiss=NMISS(AU1) /AU4_n=N(AU4) /AU4_nmiss=NMISS(AU4) /AU1_AU4_n=N(AU1_AU4) /AU1_AU4_nmiss=NMISS(AU1_AU4). COMPUTE AU1_AU4_prop=AU1_AU4_n / (AU1_AU4_n + AU1_AU4_nmiss). EXECUTE.
How to look at proportion of co-occurrence • We now have a proportion of the session that AU1 and AU4 co-occur • Using these same functions with different denominators yields other proportions • For example • If you instead computed AU1 and AU4 co-occurrence over AU4 cases • Proportion of time during AU4 when AU1 co-occurred COMPUTE AU1_AU4_during_AU4_prop=AU1_AU4_n / (AU4_n). EXECUTE.
How to look at simple patterns of transition • Proportions are helpful in looking at characteristics of behavior broadly • However, we miss the evolution of sequence and co-occurrence throughout time • Time-series or lag analysis can tell us how often certain behaviors transition to certain other behaviors.
How to look at simple patterns of transition • Using the lag function to get values in previous rows • lag ( variable name ) • Returns the last row’s value for the specified variable • Can be used in compute statements to compare changes in variables
How to look at simple patterns of transition • Herewe use a lag function to assess a transition • When AU11 moves to AU11 & AU14 • This gives us the frequency that AU14 occurs when AU11 is already there IF (NVALID(AU11)>0 & NVALID(lag(AU11))>0 & NVALID(lag(AU14))<1 & NVALID(AU14)>0) AU11_to_AU11_AU14=1. EXECUTE.
How to look at simple patterns of transition • In addition to obtaining a straight frequency you can also use this transition variable to • Assess a proportion of a specific transition out of all transitions • Summarize several of these variables into a composite variable of transitions • Plug these variables into more complex equations
How to look at simple patterns of transition • Here are a few other useful time series variables you can create:(All of these are accessible through the Transform > Create Time Series… menu) • Lead – Returns the value of the variable in the next row • Difference – Returns the change in value from the previous row to the current row • Useful for finding changes in levels within a variable • In this menu you can easily change how many steps back or forward (order) your function takes • For example the value two rows previous
Using a rate per minute measure • Creating a rate per minute measure can • Help tell you how often a behavior occurs • While controlling for variation in session duration • Can be used to summarize changes during meaningful epochs of time • For example, when Stimulus A is presented, do subjects increase their onset of Behavior X
Using a rate per minute measure • Calculating a rate per minute • Create a transition (lag) variable for behavior onset • Use Aggregation to create: • Frequency of onset variable • A duration of session variable IF (NVALID(AU1)>0 & NVALID(lag(AU1))<1) AU1_onset=1. EXECUTE. DATASET DECLARE Agg. AGGREGATE /OUTFILE='Agg' /BREAK=id /AU11_onset_n=N(AU1_onset) /frame_n=N(frame).
Using a rate per minute measure • The new aggregated dataset allows • Calculation of a rate per minute variable (30 for the number of frames per second, 60 for the number of seconds in a minute) • Comparison across subjects in rate per minute COMPUTE AU11_RPM=AU11_onset_n / (frame_n / (30*60)). EXECUTE.
Using a rate per minute measure • You can also use this same method for different epochs of time • Just add more break variables • For example, I create variable Stim_1 that signifies when I present a stimuli • I then aggregate by ID and this new variable…
Using a rate per minute measure • Like so… • We now have a rate per minute for both conditions IF (frame < 500 & frame > 599) Stim_1=1. EXECUTE. AGGREGATE /OUTFILE='Agg' /BREAK=id Stim_1 /AU1_onset_n=N(AU1_onset) /frame_n=N(frame).
Further analysis and combining techniques • Based on the aggregated datasets presented here you can • Analyze group differences in • Proportions of behavior • Proportions of behavior co-occurrence • Number of transitions • Rate per minute across meaningful periods of time
Further analysis and combining techniques • Based on these variable creation techniques you can • Combine methods to produce variables which assess more complex questions • For example: • Is the proportion of Variable A during Variable B higher after Event X? • Is the rate of transition per minute from Variable A to Variable B more frequent when Variable C co-occurs?
Final notes • As with any set of analyses, ensure that the particular variable you are calculating in a meaningful construct • Thank you for your interest!