Title: | Tests for Weak Instruments in R |
---|---|
Description: | Implements Cragg-Donald (1993) <doi:10.1017/S0266466600007519> and Stock and Yogo (2005) <doi:10.1017/CBO9780511614491.006> tests for weak instruments in R. |
Authors: | Beniamino Green [aut, cre] |
Maintainer: | Beniamino Green <[email protected]> |
License: | GPL (>= 3) |
Version: | 0.0.1 |
Built: | 2024-11-21 04:50:08 UTC |
Source: | https://github.com/beniaminogreen/cragg |
Calculate the Cragg-Donald statistic for a given model.
cragg_donald(X, D, Z, data = data.frame())
cragg_donald(X, D, Z, data = data.frame())
X |
(formula). A one-sided formula of control variables. |
D |
(formula). A one-sided formula of endogenous variables (treatments) |
Z |
(formula). A one-sided formula of instruments |
data |
(dataframe). An optional dataframe, list, or environment containing the variables used in the model. As with many of the base R functions, if the variables are not found here, they may be searched for in the environment cragg_donald() was called. |
(cd_test) results object of class "cd_test"
#Obtain the Cragg-Donald statistic for a model that instruments #Sepal Width on Petal Length, Petal Width, and Species, while controlling #for Sepal.Length (a toy example). cragg_donald(X=~Sepal.Length, D=~Sepal.Width, Z=~Petal.Length + Petal.Width + Species, data = iris)
#Obtain the Cragg-Donald statistic for a model that instruments #Sepal Width on Petal Length, Petal Width, and Species, while controlling #for Sepal.Length (a toy example). cragg_donald(X=~Sepal.Length, D=~Sepal.Width, Z=~Petal.Length + Petal.Width + Species, data = iris)
Recommend a critical value for the Cragg-Donald test given a maximum allowable bias/size distortion
stock_yogo_reccomender(K, N, B, size_bias)
stock_yogo_reccomender(K, N, B, size_bias)
K |
(int). The number of instruments. |
N |
(int). The number of endogenous variables (treatments) |
B |
One of [.05, .1, .15, .2, .25, .3]. The maximum size of allowable bias relative to the normal OLS or the maximum Wald test size distortion. |
size_bias |
Either "bias" or "size". Whether to use a critical value based on the maximum allowable bias relative to regular OLS (bias), or maximum Wald test size distortion. |
(float) the recommended critical value.
#To reccomend a critical value for a test with 2 endogenous variables #and four instruments based on a 5% maximum allowable bias relative to OLS stock_yogo_reccomender(4,2,.05,"bias")
#To reccomend a critical value for a test with 2 endogenous variables #and four instruments based on a 5% maximum allowable bias relative to OLS stock_yogo_reccomender(4,2,.05,"bias")
Perform the Stock and Yogo test for weak instruments
stock_yogo_test(X, D, Z, data, B = 0.05, size_bias = "bias")
stock_yogo_test(X, D, Z, data, B = 0.05, size_bias = "bias")
X |
(formula). A one-sided formula of control variables. |
D |
(formula). A one-sided formula of endogenous variables (treatments) |
Z |
(formula). A one-sided formula of instruments |
data |
(dataframe). An optional dataframe, list, or environment containing the variables used in the model. As with many of the base R functions, if the variables are not found here, they may be searched for in the environment cragg_donald() was called. |
B |
One of [.05, .1, .15, .2, .25, .3]. The maximum size of allowable bias relative |
size_bias |
Either "bias" or "size". Whether to use a critical value based on the maximum allowable bias relative to regular OLS (bias), or maximum Wald test size distortion (size). |
(sy_test) the results of the stock and yogo test.
#Perform the Stock and Yogo test on a model that instruments #Sepal Width on Petal Length, Petal Width, and Species, while controlling #for Sepal.Length (a toy example). stock_yogo_test(X=~Sepal.Length, D=~Sepal.Width, Z=~Petal.Length + Petal.Width + Species, size_bias="bias",data = iris)
#Perform the Stock and Yogo test on a model that instruments #Sepal Width on Petal Length, Petal Width, and Species, while controlling #for Sepal.Length (a toy example). stock_yogo_test(X=~Sepal.Length, D=~Sepal.Width, Z=~Petal.Length + Petal.Width + Species, size_bias="bias",data = iris)