剂量 - 反应模型系数

问题描述 投票:0回答:1

我一直在努力使我的数据符合逻辑曲线。我遇到了两个不同的包,我一直在使用。 DRMNLS,所以从drm开始,我能够拟合一个可视化如下的模型。

Plot

现在我的问题是模型摘要。

Text

Formula: percent_farm_tractor ~ SSlogis(year, Asym, xmid, scal)

Parameters:
     Estimate Std. Error t value Pr(>|t|)    
Asym    2.265      2.527   0.896   0.4207    
xmid 1975.306     17.589 112.305 3.77e-08 ***
scal    9.575      2.674   3.580   0.0232 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.03798 on 4 degrees of freedom

Number of iterations to convergence: 0 
Achieved convergence tolerance: 5.703e-06

除非我不正确地解释这个,否则b系数代表斜率。当模型拟合图甚至显示随着年份增加的趋势时,这怎么可能是负面的?

nls模型确实为slope返回一个正数,但我无法使用nls包来处理其余的数据。

谢谢

编辑:

我使用split获取多个data.frames,每个datasframes包含与县相关的多个记录,每个记录是不同的年份。例如,这里有2个不同的data.frame代表2个不同的县:

`示例县1

    year state county    name percent_farm_tractor stateAbb fips colorID
2   1925     1      3 BALDWIN           0.06760000       AL 1003       1
69  1930     1      3 BALDWIN           0.08679707       AL 1003       2
136 1940     1      3 BALDWIN           0.19938885       AL 1003       3
203 1950     1      3 BALDWIN           0.44627821       AL 1003       7
270 1954     1      3 BALDWIN           0.56669298       AL 1003       9
337 1964     1      3 BALDWIN           0.75094340       AL 1003      12
404 1969     1      3 BALDWIN           0.89988623       AL 1003      14

Sample County 2

    year state county    name percent_farm_tractor stateAbb fips colorID
476 1925     5     13 CALHOUN          0.000000000       AR 5013       1
551 1930     5     13 CALHOUN          0.006680027       AR 5013       1
626 1940     5     13 CALHOUN          0.027145359       AR 5013       1
701 1950     5     13 CALHOUN          0.187435633       AR 5013       3
776 1954     5     13 CALHOUN          0.333333333       AR 5013       5
851 1964     5     13 CALHOUN          0.530150754       AR 5013       8
926 1969     5     13 CALHOUN          0.929824561       AR 5013      14

我将drm应用于以下每个data.frames:

j <- 1
params <- data.frame()
for(j in 1:length(split_df)){
if(nrow(split_df[[j]]) != 1){
mL <- drm(percent_farm_tractor ~ year, data = 
as.data.frame(split_df[[j]]), fct = L.3(), type = "continuous")
params <- rbind(params, coef(mL))
}
}

基本上每个县都有一个负斜率值,这似乎非常直观,因为基本上每个县都有一个积极的趋势,因为年增加。

r logistic-regression modeling economics
1个回答
1
投票

tl; dr只需翻转标志;这是一个不寻常的参数化,其中负b对应于增加的函数。 (我不知道为什么我之前从未注意到这一点;也许是因为我一般都专注于拦截/ ED50参数......)

这是?drc::logistic中广义逻辑的表达式:

f(x) = c + \frac{d-c}{(1+\exp(b(x - e)))^f}          

对于三参数逻辑,c = 0,f = 1,所以我们有

f(x) = \frac{d}{(1+\exp(b(x - e)))}

很容易看出d是上部渐近线,而e是半最大值(当x=e时,等式减少到\frac{d}{(1+\exp(0)} = d/2)。 b确实是一个斜坡,但关键是对于x>e而言,分母是b的增加函数;这意味着整体表达是b的递减函数。

这与逻辑的更标准的参数化形成对比,后者在斜率之前添加负号,例如,来自plogis

F(x) = 1 / (1 + exp(-(x-m)/s)) 

请注意qazxsw poi之前的qazxsw poi!这里qazxsw poi是一个尺度,-是半最大值,(x-m)/s是斜率...

© www.soinside.com 2019 - 2024. All rights reserved.