Not sure if the lack of response reflects a lack of clarity in stating the
problem, or just that the solution isn't obvious to anyone.
In case it is the former, I'll restate the problem:
The goal is to create a simulated data set. To do so, I would like to
determine the probabilities of an outcome (death) given a positive or
negative test result, when the overall mortality rate, the odds ratio for
mortality as a function of that test and proportion of positive test results
in the population are known.
The problem reduces (I believe) to solving:
p1/(1-p1)=2(p2/(1-p2)
p2= k1-p1k2
where:
p1 = mortality rate for a positive test
p2 = mortality rate for a negative test
k1 = constant = (overall mortality rate)/(proportion of population with a
positive test)
k2 = constant = (proportion negative test)/(proportion positive test)
Does this problem look familiar to anyone?
If my poor math skills are not failing me, I believe that I end up with p1^3
term. Does this sound right? Would it mean that there is no exact
solution?
Any other suggestions for creating simulated data with these properties?
Dan
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Daniel Waxman
Sent: Saturday, November 17, 2007 6:44 PM
To: [email protected]
Subject: st: simulated data for logistic regression... remedial algebra
help?
I am trying to create a series of simulated data sets for use in logistic
regression with the following properties:
Mortality (outcome) remains constant. There is a single dichotomous
independent variable whose odds ratio (coefficient) and proportion of
positives can vary between the sets. It all comes down to solving for the
intercept (`b0'), given the following relationships:
probability_negative=invlogit(`b0’)
probability_positive=invlogit(log(`odds’)+`b0’)
`proportion_positive’*probability_positive+(1-`proportion_positive’)*probabi
lity_negative=`mortality’
Sad to admit, but I am bumping up against the limitations of my algebra
skills.
I'd imagine this is trivial for many of you...
i.e.:
**************
clear
set obs 1000
local odds=2
local proportion_positive= .10
local mortality = .05
gen test=uniform()<`proportion_positive’
/*
************solve for `b0' here************
*/
gen probability_negative=invlogit(`b0’)
gen probability_positive=invlogit(log(`odds’)+`b0’)
gen died=uniform() < cond(test==0,probability_negative,probability_positive)
logistic died test
************************
Thanks.
Dan
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.503 / Virus Database: 269.16.0/1136 - Release Date: 11/17/2007
2:55 PM
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/