My question is about situations where I analyse data from a survey (eg. service satisfaction) where some of the questions are presented only to a specific sub-group of respondets (eg. only respondents of age 65+ were asked about service options available only for them).
I want to use this data in a prediction model (eg. predict overall satisfaction). I can impute missing values in the general questions, and as for conditional questions - I can impute missing values for respondets who were presented the questions and didn't answer them. But I'm left with the cases where the respondents didn't see the questions in the first place (since they don't belong in the relevant sub-group).
This situations is easier to deal with in decision tree models, but when I want to calculate regression models using this data, I do not know how to best incorporate the conditional questions in the analysis.
One thing I played with was to create two separate models: one for the subgroup - with the conditional questions, and another for the rest of the sample, without the conditional questions, and then use the appropriate model in each case for prediction. This of course will fail when I start working on data were there were a few groups of conditional questions, each for a different sub-group of respondents (eg. respondents who have children, respondents who are first time users etc'). So I'd be greatful for suggestions of a better way to go about this.
1 Answer
You just need to create a separate category for the 'unasked' case (ie yes/no/unasked), which would be mapped to 2 dummy variables:asked? and yes/no.
Then your 2 separate models are captured by a single model with an interaction on asked? variable
Eg (0/1=no /yes)
Q1 Q2_asked Q2
0 1 0
0 1 1
0 0 0
1 0 0
1 1 0
1 1 1
Model q1+q2_unasked + Q2 + q1:q2_asked + q1:Q2 + intercept
Then Q1 Parameter is value for Q1 yes, and Q2 unasked. Q1:Q2_asked is value for Q1 yes and Q2 no. And q1:Q2 is value for Q1 yes and Q1 yes
-
$\begingroup$ How do I keep the rows with the missing values though? And if I fill them with anything, how do I keep the fictitious data from influencing the model? $\endgroup$– eli-kCommented Jun 26, 2023 at 9:14
-
$\begingroup$ Thank you for your answer! But I'm having a hard time following you here - first did you just fill in zeros where Q2 was not answered? In any case how would this all work in a real world situation, say when I have 30 questions in total, 5 of which are conditional on one property and 5 are conditional on another property, and all the answers are on a 7 point likert scale? $\endgroup$– eli-kCommented Jun 28, 2023 at 8:48