我读到的关于线性回归和 GLM 的几乎所有内容都归结为:其中的非增或非减函数,而是你的参数估计和检验关于的假设。有几十个链接函数和和的变换,使的线性函数。
的非递增/非递减要求,我只知道拟合参数线性化模型的两种选择:三角函数和多项式。两者都会在每个预测和整个集合之间产生人为的依赖性,使它们成为非常不稳健的拟合,除非事先有理由相信您的数据实际上是由循环或多项式过程生成的。
这不是某种深奥的边缘案例。这是水与农作物产量之间的实际常识关系(一旦地块在水下足够深,农作物产量将开始减少),或早餐消耗的卡路里与数学测验的表现或工厂工人数量之间的关系以及它们产生的小部件的数量......简而言之,几乎所有使用线性模型的现实生活案例,但数据涵盖的范围足够广泛,以至于您可以将收益递减变成负收益。
我试着寻找“凹”、“凸”、“曲线”、“非单调”、“浴缸”等术语,但我忘记了还有多少其他术语。很少有相关的问题,甚至更少的可用答案。因此,实际上,如果您有以下数据(R 代码,y 是连续变量 x 和离散变量组的函数):
updown<-data.frame(y=c(46.98,38.39,44.21,46.28,41.67,41.8,44.8,45.22,43.89,45.71,46.09,45.46,40.54,44.94,42.3,43.01,45.17,44.94,36.27,43.07,41.85,40.5,41.14,43.45,33.52,30.39,27.92,19.67,43.64,43.39,42.07,41.66,43.25,42.79,44.11,40.27,40.35,44.34,40.31,49.88,46.49,43.93,50.87,45.2,43.04,42.18,44.97,44.69,44.58,33.72,44.76,41.55,34.46,32.89,20.24,22,17.34,20.14,20.36,24.39,22.05,24.21,26.11,28.48,29.09,31.98,32.97,31.32,40.44,33.82,34.46,42.7,43.03,41.07,41.02,42.85,44.5,44.15,52.58,47.72,44.1,21.49,19.39,26.59,29.38,25.64,28.06,29.23,31.15,34.81,34.25,36,42.91,38.58,42.65,45.33,47.34,50.48,49.2,55.67,54.65,58.04,59.54,65.81,61.43,67.48,69.5,69.72,67.95,67.25,66.56,70.69,70.15,71.08,67.6,71.07,72.73,72.73,81.24,73.37,72.67,74.96,76.34,73.65,76.44,72.09,67.62,70.24,69.85,63.68,64.14,52.91,57.11,48.54,56.29,47.54,19.53,20.92,22.76,29.34,21.34,26.77,29.72,34.36,34.8,33.63,37.56,42.01,40.77,44.74,40.72,46.43,46.26,46.42,51.55,49.78,52.12,60.3,58.17,57,65.81,72.92,72.94,71.56,66.63,68.3,72.44,75.09,73.97,68.34,73.07,74.25,74.12,75.6,73.66,72.63,73.86,76.26,74.59,74.42,74.2,65,64.72,66.98,64.27,59.77,56.36,57.24,48.72,53.09,46.53),
x=c(216.37,226.13,237.03,255.17,270.86,287.45,300.52,314.44,325.61,341.12,354.88,365.68,379.77,393.5,410.02,420.88,436.31,450.84,466.95,477,491.89,509.27,521.86,531.53,548.11,563.43,575.43,590.34,213.33,228.99,240.07,250.4,269.75,283.33,294.67,310.44,325.36,340.48,355.66,370.43,377.58,394.32,413.22,428.23,436.41,455.58,465.63,475.51,493.44,505.4,521.42,536.82,550.57,563.17,575.2,592.27,86.15,91.09,97.83,103.39,107.37,114.78,119.9,124.39,131.63,134.49,142.83,147.26,152.2,160.9,163.75,172.29,173.62,179.3,184.82,191.46,197.53,201.89,204.71,214.12,215.06,88.34,109.18,122.12,133.19,148.02,158.72,172.93,189.23,204.04,219.36,229.58,247.49,258.23,273.3,292.69,300.47,314.36,325.65,345.21,356.19,367.29,389.87,397.74,411.46,423.04,444.23,452.41,465.43,484.51,497.33,507.98,522.96,537.37,553.79,566.08,581.91,595.84,610.7,624.04,637.53,649.98,663.43,681.67,698.1,709.79,718.33,734.81,751.93,761.37,775.12,790.15,803.39,818.64,833.71,847.81,88.09,105.72,123.35,132.19,151.87,161.5,177.34,186.92,201.35,216.09,230.12,245.47,255.85,273.45,285.91,303.99,315.98,325.48,343.01,360.05,373.17,381.7,398.41,412.66,423.66,443.67,450.39,468.86,483.93,499.91,511.59,529.34,541.35,550.28,568.31,584.7,592.33,615.74,622.45,639.1,651.41,668.08,679.75,692.94,708.83,720.98,734.42,747.83,762.27,778.74,790.97,806.99,820.03,831.55,844.23),
group=factor(rep(c('A','B'),c(81,110))));
plot(y~x,updown,subset=x<500,col=group);
您可能首先尝试 Box-Cox 变换,看看它是否具有机械意义,如果失败,您可能会使用逻辑或渐近链接函数拟合非线性最小二乘模型。
那么,当你发现完整的数据集看起来像这样时,为什么要完全放弃参数模型并转而使用像样条线这样的黑盒方法......
plot(y~x,updown,col=group);
我的问题是:
- 为了找到代表此类函数关系的链接函数,我应该搜索哪些术语?
或者
- 我应该阅读和/或搜索什么来自学如何设计链接函数到此类函数关系或扩展现有的仅用于单调响应的函数?
或者
- 哎呀,甚至 StackExchange 标记最适合此类问题!