Friday, November 15, 2013

Need more statins or not

Need More Statins or Not

2013 ACC/AHA Guideline on the Treatment of Blood Cholesterol to Reduce Atherosclerotic Cardiovascular Risk in Adults

Don’t Give More Patients Statins
Source: NYT by John Abramson and Rita Redberg

"ON Tuesday, the American Heart Association and the American College of Cardiology issued new cholesterol guidelines that essentially declared, in one fell swoop, that millions of healthy Americans should immediately start taking pills — namely statins — for undefined health “benefits.” " ...


New ACC/AHA/NHLBI Guidance on Lifestyle for CVD Prevention
Source: Medscape by Shelley Wood

ACC-AHA cardiovascular prevention guidelines drop cholesterol treatment goals
Source: Cardiology News Digital Network  by Elizabeth Mechcatie

Risk Calculator for Cholesterol Appears Flawed
Source: NYT by Gina Kolata
"Last week, the nation’s leading heart organizations released a sweeping new set of guidelines for lowering cholesterol, along with an online calculator meant to help doctors assess risks and treatment options. But, in a major embarrassment to the health groups, the calculator appears to greatly overestimate risk, so much so that it could mistakenly suggest that millions more people are candidates for statin drugs." ...

Friday, September 20, 2013

Speaking Stata of the Stata Journal

Speaking Stata of the Stata Journal

Blog: Stata Tips of The Stata Journal and Others
This column of the Stata Journal is focusing on how to improve your fluency in Stata
  1. Loops, again and again [20(4)]
  2. Is a variable constant?
  3. More ways for rowwise
  4. Concatenating values over observations
  5. Some simple devices to ease the spaghetti problem
  6. The last day of the month
  7. How best to generate indicator or dummy variables
  8. Seven steps for vexatious string variables
  9. From rounding to binning
  10. Logarithmic binning and labeling
  11. Tables as lists: The groups command
  12. Letter values as selected quantiles
  13. Shading zones on time series and other plots
  14. Multiple bar charts in table form
  15. Truth, falsity, indication, and negation
  16. A set of utilities for managing missing values 
  17. Species of origin [15(2)]
  18. Design plots for graphical summary of a response given factors
  19. Self and others
  20. Trimming to taste
  21. Creating and varying box plots: Correction
  22. Matrices as look-up tables
  23. Axis practice, or what goes where on a graph
  24. Transforming the time axis
  25. Output to order
  26. Fun and fluency with functions
  27. Compared with ...
  28. MMXI and all that: Handling Roman numerals within Stata
  29. Graphing subsets
  30. The limits of sample skewness and kurtosis
  31. findname: Finding variables
  32. statsby [subsets, total]: The statsby strategy
  33. graph twoway: Paired, parallel, or profile plots for changes, correlations, and other comparisons
  34. graph box: Creating and varying box plotsCreating and varying box plots: Correction
  35. qsbayesi, qsbayes: I. J. Good and quasi–Bayes smoothing of categorical frequencies
  36. egen, rowsort, rowranks: Rowwise
  37. distinct: Distinct observations
  38. corrci, corrcii: Correlation with confidence, or Fisher's z revisited
  39. labmask, seqvar: Between tables and graphs
  40. Spineplots and their kin
  41. egen, by: Counting groups, especially panels
  42. stem, scatter, stemplot: Turning over a new leaf
  43. egen, by: Identifying spells
  44. count: Making it count
  45. In praise of trigonometric predictors
  46. cycleplot, sliceplot: Graphs for all seasons
  47. Time of day
  48. Smoothing in various directions
  49. qplot, displot: The protean quantile plot
  50. Density probability plots
  51. modeldiag: Graphing model diagnostics
  52. Graphing agreement and disagreement
  53. Graphing categorical and compositional data
  54. Graphing distributions
  55. matrix list, list, tabdisp, tabcount, groups: Problems with tables, Part II
  56. tabulate, table, tabstat, tabdisp, list: Problems with tables, Part I
  57. for, foreach, forvalues, levels: Problems with lists
  58. egen, foreach, forvalues, reshape: On structure and shape: the case of multiple responses
  59. egen: On getting functions to do the work
  60. On numbers and strings
  61. foreach, forvalues, for: How to face lists with fortitude
  62. _n, _N: How to move step by: step
  63. How to repeat yourself without going mad [2001;1:(1)]

Monday, September 09, 2013

Measures of effect size in Stata 13

Measures of Effect Size in Stata 13
Soruce: the Stata Blog
"Today I want to talk about effect sizes such as Cohen’s d, Hedges’s g, Glass’s Δ, η2, and ω2. Effects sizes concern rescaling parameter estimates to make them easier to interpret, especially in terms of practical significance.

Many researchers in psychology and education advocate reporting of effect sizes, professional organizations such as the American Psychological Association (APA) and the American Educational Research Association (AERA) strongly recommend their reporting, and professional journals such as the Journal of Experimental Psychology: Applied and Educational and Psychological Measurement require that they be reported.

Anyway, today I want to show you

What effect sizes are.
How to calculate effect sizes and their confidence intervals in Stata.
How to calculate bootstrap confidence intervals for those effect sizes.
How to use Stata’s effect-size calculator.


...". Read full text here

Tuesday, August 06, 2013

11 Tips to Cut Your Cholesterol Fast

11 Tips to Cut Your Cholesterol Fast
 
1. Set a target.
2. Consider medication.
3. Get moving.
4. Avoid saturated fat.
5. Eat more fiber.
6. Go fish.
7. Drink up.
8. Drink green.
9. Eat nuts.
10. Switch spreads.
11. Don't smoke.
 
Full text here.
 

Tuesday, July 23, 2013

Asians Eat Weird Things

Asians Eat Weird Things 

Thursday, July 11, 2013

How to turn on/off and diagnose the ANC (active noise cancellation) system of 2013 Honda Pilot

How to turn off/on the ANC (active noise cancellation) system of 2013 Honda Pilot
  1. Turn the ignition switch on the I (radio) position.
  2. Turn the radio on and check it operates normally, and turn the radio off.
  3. Press and hold the preset buttons #1, #6, and volumn (VOL) push button at the same time.
  4. when you see 'DIAG' appears on the display, you can release the buttons
  5. Press the #1 preset button, you see 'ANC ON' on the display.
  6. Press the #1 preset button again to turn the ANC OFF and hear a humming/booming noise coming from the speakers for about 1 minutes.
  7. You can press the #1 button repeatedly for ON and OFF, but the humming/booming noise will not come up repeatedly except repeating step 1, 3-6 again.

This is a similar approach for Acura

Wednesday, July 03, 2013

Data visulization - a tutorial

Data visulization - a tutorial
Source: Tyler Rinker's blog

This is a nice video about how to visualize your data more effectively.



You can find the whole blog with slides and data here: The Mechanics of Data Visualization.

Monday, July 01, 2013

How to test proportionality assumption in survival analysis using SAS

How to test proportionality assumption in survival analysis using SAS
 
There are several approaches to test proportionality assumption in survival analysis:
  • Graphical Approach is to plot Log–Log survival function by researched major predictor. If the two line is parallel without cross each other, the assumption is considering confirmed.
PROC LIFETEST DATA=ONE; METHOD=KM PLOTS=(S,LLS);
     TIME SURVTIME*EVENT(0);
     STRATA RISK0;
RUN;

PROC PHREG DATA=ONE;
     MODEL SURVTIME*EVENT(0)=RISK1 AGE SEX;
    BASELINE OUT=LLSOUT LOGLOGS=LOGLOGS;
RUN;
PROC GPLOT DATA=LLSOUT;
     PLOT LOGLOGS*SURVTIME=RISK1;
RUN;
  • Or, you can include an interaction term of a predictor and follow up time in the model. If this interaction term is not significant, there is no violation of assumption. For example:
PROC PHREG DATA=ONE;
MODEL SURVTIME*EVENT(0)=RISK1 TIMEX;
        TIMEX=RISK1*(LOG(SURVTIME)-LOG(average followup time));
          * someone also uses simple forms: TIMEX=RISK1*LOG(SURVTIME);
          * or even: TIMEX=RISK1*SURVTIME; (not good enough); 
     PROPORTIONALITY_TEST: TIMEX;
RUN;
  • Possibly, the easiest and powerful approach after SAS 9.2 is to use ASSESS statement, for example:
ODS GRAPHICS ON;
PROC PHREG DATA=ONE;
MODEL SURVTIME*EVENT(0)=RISK1;
     ASSESS PH/resample;
RUN;
ODS GRAPHICS OFF;
 
What’s New of PROC PHREG of SAS 9.2 (pdf)
 

Thursday, June 27, 2013

American Medical Association declared obesity a “disease.”

American Medical Association declared obesity a “disease.”

"RESOLVED, That our American Medical Association recognize obesity as a disease state with 24 multiple pathophysiological aspects requiring a range of interventions to advance obesity 25 treatment and prevention. (New HOD Policy - Resolution 420)" - 06/16/2013

Wednesday, June 26, 2013

Risk prediction and model comparison

 Risk prediction and model comparison
 
The potential approaches of prediction and comparison:
References:
Software:
       

rule of halves of diabetes

Rule of halves of diabetes
Source: DAWNStudy Diabetic Attitudes Wishes and Needs

Thursday, June 13, 2013

Multicollinearity Issue

Multicollinearity Issue

Multicollinearity happens when two or more predictor/independent variables/regressors are highly correlated. I have been discussed about this issue many times by colleagues and journal reviewers. Paul Allison has a blog of some rules of thumb: When Can You Safely Ignore Multicollinearity? Wikipedia also has a article about this issue. It's true this is issue theoretically, but based on my experience in public health of chronic diseases, if the selection of predictors based on the logic/knowledge behind the model but not dump everything in one model, this should not be an issue.

Tuesday, June 11, 2013

Do We Really Need Zero-Inflated Models?

Do We Really Need Zero-Inflated Models?
Source: Statistical Horizon blog by Paul Allison
 
"... Of course, there are certainly situations where a zero-inflated model makes sense from the point of view of theory or common sense. For example, if the dependent variable is number of children ever born to a sample of 50-year-old women, it is reasonable to suppose that some women are biologically sterile. For these women, no variation on the predictor variables (whatever they might be) could change the expected number of children.

So next time you’re thinking about fitting a zero-inflated regression model, first consider whether a conventional negative binomial model might be good enough. Having a lot of zeros doesn’t necessarily mean that you need a zero-inflated model."


Read full text here
 
This question has haunted me for a while, thank Dr. Allison answered this question in such a layman-kind way. I like his book "Survival Analysis Using SAS: A Practical Guide" much; I don't have his book "Logistic Regression Using SAS: Theory and Application". Hope this logistic regression related book is in the same style.

More Blog on Statistical Horizon Blog

Friday, May 31, 2013

My favorite quotes of Magic School Bus

My favorite quotes of Magic School Bus (1994-1998)

It was my happy time watching Magic School Bus with my kids around 2000. The series is informative and educative, and the last but the best is a mindset of exploring and innovation. There are several quotes I don't want to forget.
  • Ms. Frizzle, "Take chances, make mistakes, get messy."
  • Ms. Frizzle, "Never say 'never.'"
These are also on the top of list of Wikiqote

Diease or not disease, a diabetic question

Diease or not disease, a diabetic question

Last a few days, I read two diabetic related articles, which both are not my cup of tea; but I am really appreciating their thoughts and contrast.
Both of authors are creative and thoughtful. Riva Greenberg is much more on the side of novelty/grassroot side (without enough evidence, to me) and Edwin Gale is much more on the side of classic/ivy tower (with typical theory/evidence, to me). I enjoy reading both articles.

Friday, May 24, 2013

Dance with my father - Luther Vandross

Dance With My Father, In Memory of My Fathers


 
"Dance With My Father"

Back when I was a child, before life removed all the innocence
 My father would lift me high and dance with my mother and me and then
 Spin me around ‘til I fell asleep
 Then up the stairs he would carry me
 And I knew for sure I was loved
 If I could get another chance, another walk, another dance with him
 I’d play a song that would never, ever end
 How I’d love, love, love
 To dance with my father again
 When I and my mother would disagree
 To get my way, I would run from her to him
 He’d make me laugh just to comfort me
 Then finally make me do just what my mama said
 Later that night when I was asleep
 He left a dollar under my sheet
 Never dreamed that he would be gone from me
 If I could steal one final glance, one final step, one final dance with him
 I’d play a song that would never, ever end
‘Cause I’d love, love, love
 To dance with my father again
 Sometimes I’d listen outside her door
 And I’d hear how my mother cried for him
 I pray for her even more than me
 I pray for her even more than me
 I know I’m praying for much too much
 But could you send back the only man she loved
 I know you don’t do it usually
 But dear Lord she’s dying
 To dance with my father again
 Every night I fall asleep and this is all I ever dream

Friday, May 17, 2013

Impact Factor Distortions

Impact Factor Distortions by Bruce Alberts
Source: Science

"This Editorial coincides with the release of the San Francisco declaration on research Assessment (DORA), the outcome of a gathering of concerned scientists at the December 2012 meeting of the American Society for Cell Biology. To correct distortions in the evaluation of scientific research, DORA aims to stop the use of the "journal impact factor" in judging an individual scientist's work. The Declaration states that the impact factor must not be used as "a surrogate measure of the quality of individual research articles, to assess an individual scientist's contributions, or in hiring, promotion, or funding decisions." DORA also provides a list of specific actions, targeted at improving the way scientific publications are assessed, to be taken by funding agencies, institutions, publishers, researchers, and the organizations that supply metrics. These recommendations have thus far been endorsed by more than 150 leading scientists and 75 scientific organizations, including the American Association for the Advancement of Science (the publisher of Science). Here are some reasons why: "

Tuesday, May 14, 2013

How to make compost

How to make compost
  • A very helpful Youtube video from howdini.com. Scott's teaching how to make compost using cheap chicken wire.

slope index of inequality (SII) and the relative index of inequality (RII).

Slope Index of Inequality (SII) and Relative Index of Inequality (RII)

The slope index of inequality (SII) and the relative index of inequality (RII) are measures of health inequality (Mackenbach, 1997). The SII and RII can be calculated through regression analysis on an indicator of the cumulative relative position of each group with respect to a socioeconomic variable account for both the socioeconomic status (SES) of the groups and the size of the population.


The groups of SES are ordered by decreasing socioeconomic status from higher to lower. Each socioeconomic category is given a score called ridit score, which reflects the average cumulative frequency of the group, a midpoint of the range in the cumulative distribution introduced by Bross (1958). For example, if the highest educated women include 20% of the population, the range of women in this category is from 0.00 to 0.20 and assigned a ridit score of 0.10 (= 0.20/2 = [0 + 0.2]/2), and if the next level of educated women include 50% of the population from .20 to 0.70, the corresponding ridit score is 0.45 (= 0.20 + 0.5/2 = [0.20 + 0.70]/2) and so forth. 
 

SII (rate difference) is the slope of the regression line (b) estimated by the weighted least squares method and represents the change in measured outcome/event when the position of the SES changes by one unit.

RII (rate ratios) can be which can be estimated in two ways: one way is to divide the SII by the mean level of population health or by the frequency of the health problem in the population; the other way is to divide the predicted value of the regression at the highest point (range=1) by the predicted value of the regression at the lowest point (range=0). The second method for the RII is calculated by log-linear—or logistic—regression after the logarithmic—or logit—transformation of the dependent variable. One way to facilitate the interpretation of this measure of the second method may be to express the RII as a percentage by subtracting 1 from it and multiplying the result by 100 (see Table 1 below) (Regidor, 2004).

Other References:

Calculation of SII and RII using aggregated data (modified from the paper of Regidor, 2004)



SII of the year 1990 = 104.4, the beta coefficient (b) of a linear regression of Ridit90 and Mort90.
RII of the year 1990 can be calculated as SII/(average mortality rate) = 104/134 = 0.7761 (Measures of Health Disparity - NCI (pdf))

Calculation of SII and RII using individual data - Stata 12 (modified from the paper of Ernstsen, 2012)


ID
Men
Survey
Smoking
Ridit
Age
1
1
1
0
0.34
53
2
0
1
1
0.55
48
3
0
2
0
0.34
55
4
1
3
1
0.34
40

Estimating Relative Index of Inequality (RII) for smoking in men at the first survey:

.glm i.smoking ridit age if survey==1 & men==1, fam(bin) link(log) nolog eform

Estimating Slope Index of Inequality (SII) for smoking in men at the first survey:

.glm i.smoking ridit age if survey==1 & men==1, fam(bin) link(identity)

Estimating trend in RII and SII over time for men:

.glm i.smoking c.ridit##survey age if men==1, fam(bin) link(log) nolog eform
.glm i.smoking c.ridit##survey age if men==1, fam(bin) link(identity)

Estimating gender differences in RII and SII at each survey:

.glm i.smoking c.ridit##men age if survey==1, fam(bin) link(log) nolog
.glm i.smoking c.ridit##men age if survey==1, fam(bin) link(identity)

Estimating if RII and SII changed differently over time in men and women:

.glm i.smoking c.ridit##men##survey age, fam(bin) link (log) nolog
.glm i.smoking c.ridit##men##survey age, fam(bin) link (identity) nolog