我试图运行一个加权最小二乘模型,它看起来像这样(但可能有所不同):
带权值w_1, w_2, ..
然而,从外部知识中,我知道,无论模型是什么,对于x的大值,结果都必须逐步收敛到常数。在此约束下,如何得到OLS估计。
举个例子,假设我知道渐近线c,那么我可以在我的模型中添加两个假数据点,其中x值很高,w和y=c权重很高,运行普通的WLS模型,它会给我所需要的--但我不知道c的值。是否有一种方法来施加这种约束--也许通过在模型中添加一个自定义错误项?
发布于 2019-04-16 23:32:48
您要寻找的模型如下:
Y=\frac{A}{1+e^{-(\beta_0+\beta_1x+\beta_2log(x))}},这是不能得到的,但是得到了一个非常相似的结果。
R中的这段代码可能有效:
R=data.frame(X=c(1,2,3,4,5,6,7,8,9),Y=c(1,2,3,3,3,3,3,3,3)) # Data in which X is a line, and Y has an still unknown limit.
model=nls(formula = Y~A/(1+exp(-(b0+b1*X))),data=R)
summary(model)在结果中,您可以看到A是如何计算3(以前未知的)的极限的。
有一个局限性要考虑,就是在这个环节中加以解释,概括为所有可能的模型都不可能存在,“最里面”的模型应该是线性的。
考虑到这一点,不能使用模型\beta_0+\beta_1x+\beta_2log(x),可以使用模型\beta_0+\beta_1x。
https://datascience.stackexchange.com/questions/49428
复制相似问题