Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: st: qnorm
From
Nick Cox <[email protected]>
To
"'[email protected]'" <[email protected]>
Subject
RE: st: qnorm
Date
Mon, 5 Mar 2012 15:23:52 +0000
The approach in Maarten's program is to generate a number of random samples and show the lot as replicates.
Here as an alternative is some example code for individual 95% confidence intervals for each plotted point. -qplot- used at the end is from SJ. The code isn't smart about missing values, but it could easily be made smarter. I also guess the code could be shortened in the middle.
sysuse auto, clear
mata
y = sort(st_data(., "mpg"), 1)
mean = mean(y)
sd = sqrt(variance(y))
n = rows(y)
compare = J(n, 0, .)
for (j = 1; j <= 100; j++) {
compare = compare, sort(rnormal(n, 1, mean, sd), 1)
}
envelope = J(n, 2, .)
for (i = 1; i <= n; i++) {
x = sort(compare[i,]', 1)
envelope[i,] = ((x[2] + x[3])/2, (x[97] + x[98])/2)
}
names = tokens("_lower _upper")
(void) st_addvar("float", names)
st_store(., names, envelope)
end
qplot mpg _lower _upper, ms(O i i) c(. J J) legend(off) ytitle("`: var label mpg'")
Nick
[email protected]
Maarten Buis
On Mon, Mar 5, 2012 at 10:03 AM, Nick Cox wrote:
> 1. Simulate several samples from a distribution with the same mean and
> standard deviation (or more generally an appropriate mean and standard
> deviation) and use the resulting portfolio of plots in assessing what
> kind of variability is to be expected.
An easy way to do so is to use the -margdistfit- package, which you
can install by typing in Stata -ssc install margdistfit-. The default
is actually to first sample the mean and the standard deviation from
its sampling distribution and than sample a new variable with those
sampled means and standard deviation. I suspect that this makes sense
in most cases, though I also suspect that it won't matter much. If you
want to do exactly what Nick proposes you can add the -noparsamp-
option.
Here is an example of what such a graph would look like:
*-------- begin example -----------
sysuse auto, clear
reg mpg
margdistfit, qq name(qq)
margdistfit, pp name(pp)
margdistfit, hangroot name(hangr)
margdistfit, cumul name(cumul)
*--------- end example ------------
(For more on examples I sent to the Statalist see:
http://www.maartenbuis.nl/example_faq )
Hope this helps,
Maarten
--------------------------
Maarten L. Buis
Institut fuer Soziologie
Universitaet Tuebingen
Wilhelmstrasse 36
72074 Tuebingen
Germany
http://www.maartenbuis.nl
--------------------------
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/