OptSig (version 1.0)

Opt.Sig.Chisq: Optimal Significance Level for a Chi-square test

Description

The function calculates the optimal level of significance for a Ch-square test

Usage

Opt.Sig.Chisq(df, ncp, p = 0.5, k = 1, Figure = TRUE)

Arguments

df

the degrees of freedom

ncp

a value of of the non-centality paramter

p

prior probability for H0, default is p = 0.5

k

relative loss from Type I and II errors, k = L2/L1, default is k = 1

Figure

show graph if TRUE (default); No graph if FALSE

Value

alpha.opt

Optimal level of significance

crit.opt

Critical value at the optimal level

beta.opt

Type II error probability at the optimal level

Details

See Kim and Choi (2017)

References

Kim and Choi, 2017, Choosing the Level of Significance: A Decision-theoretic Approach: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2652773

See Also

Leamer, E. 1978, Specification Searches: Ad Hoc Inference with Nonexperimental Data, Wiley, New York.

Kim, JH and Ji, P. 2015, Significance Testing in Empirical Finance: A Critical Review and Assessment, Journal of Empirical Finance 34, 1-14. <DOI:http://dx.doi.org/10.1016/j.jempfin.2015.08.006>

Examples

Run this code
# NOT RUN {
# Optimal level of Significance for the Breusch-Pagan test: Chi-square version
data(data1)                 # call the data: Table 2.1 of Gujarati (2015)

# Extract Y and X
y=data1$lnoutput; x=cbind(data1$lncapital,data1$lnlabor)

# Restriction matrices for the slope coefficents sum to 1
Rmat=matrix(c(0,1,1),nrow=1); rvec=matrix(1,nrow=1)

# Model Estimation
M=R.OLS(y,x,Rmat,rvec); print(M$coef)

# Breusch-Pagan test for heteroskedasticity
e = M$resid[,1]                  # residuals from unrestricted model estimation

# Restriction matrices for the slope coefficients being 0
Rmat=matrix(c(0,0,1,0,0,1),nrow=2); rvec=matrix(0,nrow=2)

# Model Estimation for the auxilliary regression
M1=R.OLS(e^2,x,Rmat,rvec); 

# Degrees of Freedom and estimate of non-centrality parameter 
df1=nrow(Rmat); NCP=M1$ncp

# LM stat and p-value
LM=nrow(data1)*M1$Rsq[1,1]
pval=pchisq(LM,df=df1,lower.tail = FALSE)

Opt.Sig.Chisq(df=df1,ncp=NCP,p=0.5,k=1, Figure=TRUE)
# }

Run the code above in your browser using DataLab