道阻且长1994 2022-05-09 10:05 采纳率: 0%
浏览 191
已结题

自定义模型的参数估计与显著性检验

问题描述

通过实验,我获得了响应变量y和预测变量x1和x2的实验数据,根据自己的专业知识建立了如下数学模型:

img

其中a、b、c、d为待估计的参数。

如何对上式参数进行估计和显著性检验?

我的解答思路和尝试过的方法
  1. 利用R语言中的nlm()函数(Newton-type algorithm)获得了参数估计,但不知如何对其进行显著性检验。
  2. 利用自助法随机抽样,然后利用(1)中的方法进行了参数估计,获得参数分布,然后进行区间估计;但问题是第一次抽样和第二次抽样的数据会有重叠,其结果并不独立,该方法可能并不可行。
  3. 看文献有很多模型使用MCMC进行参数的点估计和区间估计,但该函数的后验概率不会求。
  4. 不论何种方法,如何实现该模型的参数估计和区间估计
我使用的代码
exp1 <- function(x){exp(x)/(exp(x)+1)}
model1 <- function(p,data){
  (exp1(p[1] * data$x1+p[2]))*(p[3]*(data$x2)^2+p[4]*(data$x2))
}
ssq <- function(p,funk,data,observed){
  predval <- funk(p,data)
  return(sum((observed-predval)^2))
}

p=rep(2,4)
bestmodel <- nlm(f=ssq,funk=model1,observed=data$y,p=p,data=data,
                 iterlim = 1000)
outfit(bestmodel,backtran=FALSE,title="vB")
pred <- model1(bestmodel$estimate,data)
plot(pred,pred-data$y)
qqnorm(pred-data$y)

#Compare fitted value and observed value
plot(data$x2,data$y,type="p",pch=16, col=ifelse(data$x1<0.2,"red","blue"),  
     cex=1.2,yaxs="i",xlab="x2",
     xlim=c(0,getmax(data$x2)),ylim=c(-1,getmax(data$y)),  
     ylab="y",panel.first=grid())
points(data$x2,pred,lwd=2,col=ifelse(data$x1<0.2,"black","gray"))
qqnorm(pred-data$y)

模型拟合与实验结果对比,其中黑色和灰色是模型拟合的点,红色和蓝色是实验结果

img

模型QQplot

img

我想要达到的结果

如何用R语言或python获得参数a、b、c、d的估计值及其显著性分析

模拟数据下载

  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 系统已结题 5月17日
  • 修改了问题 5月9日
  • 创建了问题 5月9日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题