So probably I'm just doing an F-test, is there a way to do one tailed t-tests in GeneralizedLinearModel in MATLAB?
coefTest and one tailed T-test
10 views (last 30 days)
Show older comments
Dear all,
I have fitted a linear model to my data as follows: Var6 ~ 1 + groupVar1 +groupVar2 + groupVar3 +Var4 + Var5
the first 3 variables are dummy variables for the three groups that I have, and I aim to compare groups using GeneralizedLinearModel.fit and adjusting for nuisance variables. Using coefTest with this contrast I get the f statistic of "any group different from zero" while controlling for Var4 and Var5: [0 1 0 0 0 0;0 0 1 0 0 0;0 0 0 1 0 0] and I get a p value, and so on. However, when it comes to one tail t tests for the following two contrasts I get the same significant p value for which does not make sense to me:
contrast 2:Group1 >Group2 coefTest(m, [0 1 -1 0 0 0]) contrast 3:Group2 >Group1 coefTest (m, [0 -1 1 0 0 0])
It would be great if someone could let me know where I'm getting this wrong, as there is no way for a group to be greater and lesser than another group at the same time.
-Arman
Accepted Answer
Tom Lane
on 12 Nov 2012
You are right that the result from coefTest is an F-test. There is no built-in way to carry out a one-sided t test.
Here are some commands to reproduce the calculations for the t statistic and its p-value as they appear int the coefficient table:
load carsmall
d = dataset(MPG,Weight);
d.Year = ordinal(Model_Year);
glm = GeneralizedLinearModel.fit(d,'MPG ~ Year + Weight + Weight^2')
glm.Coefficients.Estimate(3)
glm.Coefficients.Estimate(3)/sqrt(glm.CoefficientCovariance(3,3))
2*(1 - tcdf(glm.Coefficients.Estimate(3)/sqrt(glm.CoefficientCovariance(3,3)),glm.DFE))
You could compute a contrast among the coefficients (instead of just taking the third one as I did), use the covariance matrix to compute the variance of this contrast, and so on. Then you could pick the desired tail of the t distribution.
2 Comments
Tom Lane
on 14 Nov 2012
If you have three groups and you include dummy variables for them all, I'd expect that to be collinear with the constant term. But in general for a contrast such as c=[0 1 -1 0 0 0], coefficient vector b, and covariance matrix V, c*b is your estimated contrast and c*V*c' its variance.
More Answers (0)
See Also
Categories
Find more on Noncentral F Distribution in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!