This is a complicated question, and I'd very much appreciate any help I can get. I've been running on it nonstop for two or three days, and am running out of time. To be clear: This isn't so much a syntax or code question, its more of a concept/theory question that takes the form of a code difference. Or I might be asking you to diagram a kafka-esque monster for me.
Please let me know if I left anything out.
Question 1: What is the difference between predicted probabilities and Marginal Effects? More specifically: Is there a way I can judge when the Stata margins command is moving from one to the other?
Question 2: What is the conceptual/statistical difference between the atMeans and asObserved options in Stata14's Margins commands?
Question 3 (Bonus): The nearest method I've developed, and am using due to a time crunch, is to set dichotomous (Binary) variables to their modal values, and then set the rest to asObserved. Shoot holes in this method.
Just for background, I am running a statistical analysis using a binary logistic regression on a pair of datasets in Stata14. My dependent variable is Homeownership, and the independent variable is whether or not a respondent has student loans, both of which are binary variables. I'm using 8 other control variables. In one dataset (NFCS2012) all 8 are categorical variables. The other dataset has 2 continuous variables.
Q1: One of my professors suggested that, in addition to odds-ratios, it would be a good idea to use predicted probabilities. The command he suggested was prvalue, which is part of Spost9. Prvalue does not allow for factor variables (The i. notation in stata). However, the authors of prvalue (Long and Freese) have created the mtable command have released Spost13, which extends Stata's stock margins command. I have seen some commentary online about how you can get predicted probabilities from the margins (And thus Mtable) using the at(spec) option. The help files do not mention this.
Q2 The problem comes when attempting to hold the rest of my variables constant at a value. Specifically, whether I should hold them at their means using atMeans or at their observed values, using asObserved. I'm struggling with the difference between the two. I can see the difference in the values rendered, which is major, but I can't quite get at the theory of what as observed is doing, and whether that still qualifies as holding variables at a constant value.
When I use asObserved, I get values that fall within an expected range .630ish for Yes, and .57 for no. This makes me suspicious, because they resemble the initial cross tabs I did of my DV and IV. Put plainly, its spooky.
The code for this would be: mtable, at(RecodedG21 = (0, 1) A3 = 2 A4A_new_w = 1) asobserved statistics(all)
When I used atMeans, the predicted probabilities jump outside the range of what I would expect, at .676 for yes and .596 for no. I can write about this, however I'm worried that I'm not getting the most accurate description of my model from this option.
The example code for this would be: mtable, at(RecodedG21 = (0, 1) A3 = 2 A4A_new_w = 1) atmeans statistics(all)
I initially attempted to set all of my categorical variables to their modal values (Which in hind set, was silly and wasted time), and realized that it would skew the probabilities into the .8 range, and wasn't theoretically sound, as I couldn't justify picking one ideal type amongst 8*8*6*6*6*3*2*2*2 levels across 2 possible outcomes for my variables.
I've been reading papers however where people set their categorical variables to means. Am I missing something that Stata is doing? Or am I misconceptualizing this?
Compounding this is that when I go online I see people discuss predicted probabilities and marginal effects interchangeably, so I'm worried that I'm straying off course and will be explaining something to my thesis committee that is totally different than from what I'm actually doing. They're all at a conference, and I have a draft due, so 'm askin yall.
Q3(Bonus): I'm under a heavy time crunch, so I'm running with a method of using Mtable, setting binary variables to their modal values, and then using atMeans for the rest, simply because right now I have a better grasp and can write about that. If I were to use asObserved, what potential criticisms would you have of that?