如何自动计算Stata中的PRESS和$R^2{predicted}$

如何自动计算Stata中的PRESS和$R^2{predicted}$,stata,prediction,Stata,Prediction,所以我有两个模型,我想计算这些统计数据。在Stata中是否有计算它们的包 如果我没弄错的话。 $$ R^2{predicted}=1-\frac{RESET}{ESS} $$. 对于多线性回归,压力也可以计算为r(i)^2/(1-h(i))^2的和,其中r(i)是残差,h(i)是hat值(的对角线条目,即X*(X'*X)^-1*X',其中X是 在Stata中,在回归之后调用以下命令按,不带参数: prog def press, rclass tempvar r h p pre

所以我有两个模型,我想计算这些统计数据。在Stata中是否有计算它们的包

如果我没弄错的话。 $$ R^2{predicted}=1-\frac{RESET}{ESS}
$$.

对于多线性回归,压力也可以计算为r(i)^2/(1-h(i))^2的和,其中r(i)是残差,h(i)是hat值(的对角线条目,即X*(X'*X)^-1*X',其中X是

在Stata中,在
回归
之后调用以下命令
,不带参数:

prog def press, rclass
    tempvar r h p
    predict `r', r
    predict `h', h
    gen `p'=(`r'/(1-`h'))^2
    sum `p', mean
    di in gr "PRESS = " in ye r(sum)
    ret sca press=r(sum)
end

谢谢,但是我在Stata中有这个错误。
按price mpg I.foreign无效语法r(197)
它在我的计算机上运行时没有错误消息。您使用的是什么版本的Stata?我使用的是13.0版本的Stata,但我真的不知道发生了什么。我唯一能想象的是,在您复制代码时出现了问题。也许设置跟踪1和
设置跟踪
并检查输出是否正确会有所帮助找到错误。这会为您提供大量输出,您可以在错误消息附近开始检查。我对Stata的工作原理并不太熟悉,但是我尝试将您的代码复制到Do文件中,并且成功了。之前我尝试了命令行。谢谢
prog def press, rclass
    tempvar r h p
    predict `r', r
    predict `h', h
    gen `p'=(`r'/(1-`h'))^2
    sum `p', mean
    di in gr "PRESS = " in ye r(sum)
    ret sca press=r(sum)
end