gap (version 1.2.3-1)

# chow.test: Chow's test for heterogeneity in two regressions

## Description

Chow's test is for differences between two or more regressions. Assuming that errors in regressions 1 and 2 are normally distributed with zero mean and homoscedastic variance, and they are independent of each other, the test of regressions from sample sizes $$n_1$$ and $$n_2$$ is then carried out using the following steps. 1. Run a regression on the combined sample with size $$n=n_1+n_2$$ and obtain within group sum of squares called $$S_1$$. The number of degrees of freedom is $$n_1+n_2-k$$, with $$k$$ being the number of parameters estimated, including the intercept. 2. Run two regressions on the two individual samples with sizes $$n_1$$ and $$n_2$$, and obtain their within group sums of square $$S_2+S_3$$, with $$n_1+n_2-2k$$ degrees of freedom. 3. Conduct an $$F_{(k,n_1+n_2-2k)}$$ test defined by $$F = \frac{[S_1-(S_2+S_3)]/k}{[(S_2+S_3)/(n_1+n_2-2k)]}$$ If the $$F$$ statistic exceeds the critical $$F$$, we reject the null hypothesis that the two regressions are equal.

In the case of haplotype trend regression, haplotype frequencies from combined data are known, so can be directly used.

## Usage

chow.test(y1,x1,y2,x2,x=NULL)

## Arguments

y1

a vector of dependent variable

x1

a matrix of independent variables

y2

a vector of dependent variable

x2

a matrix of independent variables

x

a known matrix of independent variables

## Value

The returned value is a vector containing (please use subscript to access them):

F

the F statistic

df1

the numerator degree(s) of freedom

df2

the denominator degree(s) of freedom

p

the p value for the F test

## References

Chow GC (1960). Tests of equality between sets of coefficients in two linear regression. Econometrica 28:591-605

htr

## Examples

# NOT RUN {
dat1 <- matrix(c(
1.2, 1.9, 0.9,
1.6, 2.7, 1.3,
3.5, 3.7, 2.0,
4.0, 3.1, 1.8,
5.6, 3.5, 2.2,
5.7, 7.5, 3.5,
6.7, 1.2, 1.9,
7.5, 3.7, 2.7,
8.5, 0.6, 2.1,
9.7, 5.1, 3.6), byrow=TRUE, ncol=3)

dat2 <- matrix(c(
1.4, 1.3, 0.5,
1.5, 2.3, 1.3,
3.1, 3.2, 2.5,
4.4, 3.6, 1.1,
5.1, 3.1, 2.8,
5.2, 7.3, 3.3,
6.5, 1.5, 1.3,
7.8, 3.2, 2.2,
8.1, 0.1, 2.8,
9.5, 5.6, 3.9), byrow=TRUE, ncol=3)

y1<-dat1[,3]
y2<-dat2[,3]
x1<-dat1[,1:2]
x2<-dat2[,1:2]
chow.test.r<-chow.test(y1,x1,y2,x2)
# }