R: Chow's test for heterogeneity in two regressions

chow.test {gap} | R Documentation

## 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.

### 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.

### Details

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

### 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

### Note

adapted from chow.R.

### Author(s)

Shigenobu Aoki, Jing Hua Zhao

### Source

http://aoki2.si.gunma-u.ac.jp/R/

### References

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

### See Also

`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)

    ## End(Not run)

[Package gap version 1.2.3-6 Index]