我使用以下代码与glmnet:
> library(glmnet)
> fit = glmnet(as.matrix(mtcars[-1]), mtcars[,1])
> plot(fit, xvar='lambda')
Run Code Online (Sandbox Code Playgroud)
但是,我想打印最好的Lambda系数,就像在岭回归中一样.我看到以下适合的结构:
> str(fit)
List of 12
$ a0 : Named num [1:79] 20.1 21.6 23.2 24.7 26 ...
..- attr(*, "names")= chr [1:79] "s0" "s1" "s2" "s3" ...
$ beta :Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
.. ..@ i : int [1:561] 0 4 0 4 0 4 0 4 0 4 ...
.. ..@ p : int [1:80] 0 0 2 4 6 8 10 12 …
Run Code Online (Sandbox Code Playgroud) 我想使用注视仪或类似工具在R的表中比较不同模型(lm,glm,plm,pglm)的结果。但是我找不到一种以科学计数法显示系数的方法。这是一个问题,因为截距相当大(大约一百万),而其他系数很小(大约e-7),这会导致大量无用的零,从而使表的读取变得更加困难。
我在这里发现了一个类似的问题:在texreg或stargazer R中将格式模型显示为科学。但是那里的结果需要重新缩放变量,并且由于我使用计数数据,所以我不想重新缩放它。
我很感谢任何建议。
我想执行Deming回归(或任何等效的回归方法,包括X和Y变量的不确定性,例如York回归).
在我的应用程序中,我有一个非常好的科学理由来故意将拦截设置为零.但是,我无法找到将其设置为零的方法,无论是在R包中deming
,当我-1
在公式中使用时都会出错:
df=data.frame(x=rnorm(10), y=rnorm(10), sx=runif(10), sy=runif(10))
library(deming)
deming(y~x-1, df, xstd=sy, ystd=sy)
Error in lm.wfit(x, y, wt/ystd^2) : 'x' must be a matrix
Run Code Online (Sandbox Code Playgroud)
在其他包(如mcr::mcreg
或IsoplotR::york
或MethComp::Deming
)中,输入是两个向量x和y,因此我无法输入模型矩阵或修改公式.
你对如何实现这个有任何想法吗?谢谢.
.summary()
使用 pandas statsmodels的函数时,OLS 回归结果包括以下字段。
coef std err t P>|t| [0.025 0.975]
Run Code Online (Sandbox Code Playgroud)
如何获得标准化系数(不包括截距),类似于 SPSS 中可实现的?
我已经为我的数据拟合了逻辑回归模型。想象一下,我有四个特征:1)参与者收到的条件,2)参与者是否对所测试的现象有任何先验知识/背景(实验后问卷中的二元反应),3)在实验任务上花费的时间,以及4) 参与者年龄。我试图预测参与者最终是选择选项 A 还是选项 B。我的逻辑回归输出以下特征系数 clf.coef_
:
[[-0.68120795 -0.19073737 -2.50511774 0.14956844]]
Run Code Online (Sandbox Code Playgroud)
如果选项 A 是我的正类,这个输出是否意味着特征 3 是二元分类中最重要的特征,并且与选择选项 A 的参与者有负相关(注意:我没有标准化/重新缩放我的数据)?我想确保我对系数的理解以及我可以从中提取的信息是正确的,因此我不会在我的分析中做出任何概括或错误假设。
谢谢你的帮助!
python feature-selection scikit-learn logistic-regression coefficients
numpy.polynomial.polynomial.Polynomial
我试图获取通过以下方法获得的系数fit
:
import numpy.polynomial as poly
x = [1, 2, 3, 4, 5]
y = [16, 42.25, 81, 132.25, 196]
c = poly.Polynomial.fit(x, y, deg = 2)
print(c(5))
print(c)
Run Code Online (Sandbox Code Playgroud)
这个小程序打印
196.00000000000006
poly([81. 90. 25.])
Run Code Online (Sandbox Code Playgroud)
c(5)
这是多项式系数(即2.25
、7.5
和 )的正确值,但不是正确值6.25
。如何获得实际系数?
如何在线性混合模型中为每个实验单元(图)提取系数(b0和b1)及其各自的标准误差,如下所示:
使用相同的数据集(df),对于拟合的模型(fitL1):我怎么能得到一个这样的数据框......
plot b0 b0_se b1 b1_se
1 2898.69 53.85 -7.5 4.3
... ... ... ... ...
Run Code Online (Sandbox Code Playgroud) 我在R中的glm函数有问题
具体来说,我不确定如何包含名义变量.
运行glm函数后我在R中得到的结果如下:
> df
x1 x2 y
1 a 2 0
2 b 4 1
3 a 4 0
4 b 2 1
5 a 4 1
6 b 2 0
> str(df)
'data.frame': 6 obs. of 3 variables:
$ x1: Factor w/ 2 levels "a","b": 1 2 1 2 1 2
$ x2: num 2 4 4 2 4 2
$ y: Factor w/ 2 levels "0","1": 1 2 1 2 2 1
Call: …
Run Code Online (Sandbox Code Playgroud) parameters wolfram-mathematica r logistic-regression coefficients
我想创建一个具有这样的浮点系数的多项式环。我可以使用整数创建,但是浮点数不起作用。
using Oscar
S, (a,b,c,d) = PolynomialRing(QQ,["a","b","c","d"])
RR = AbstractAlgebra.RealField
s1 = S( 8*a - RR(0.51234)*a*(1+RR(1/2)*a+RR(1/3)*b+RR(1/4)*c) - 8)
s2 = S( 8*b - RR(0.51234)*b*(1+RR(2/3)*a+RR(2/4)*b+RR(2/5)*c) - 8)
s3 = S( 8*c - RR(0.51234)*c*(1+RR(3/4)*a+RR(3/5)*b+RR(3/6)*c) - 8)
s4 = S( 8*d - RR(0.51234)*d*(1+RR(4/5)*a+RR(4/6)*b+RR(4/7)*c) - 8)
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误。我怎样才能创建这样的多项式。
ERROR: LoadError: MethodError: no method matching (::FmpqMPolyRing)(::BigFloat)
Closest candidates are:
(::FmpqMPolyRing)() at ~/.julia/packages/Nemo/5CDLD/src/flint/fmpq_mpoly.jl:1063
(::AbstractAlgebra.Ring)(::Singular.n_RingElem{Singular.RingElemWrapper{S, T}}) where {S, T} at ~/.julia/packages/Singular/uG7uo/src/number/n_unknown.jl:358
(::AbstractAlgebra.Ring)(::Union{Singular.n_FieldElem{T}, Singular.n_RingElem{T}} where T) at ~/.julia/packages/Oscar/iRpOQ/src/Rings/mpoly.jl:736
...
Stacktrace:
[1] *(x::BigFloat, y::fmpq_mpoly)
@ AbstractAlgebra ~/.julia/packages/AbstractAlgebra/mQIYL/src/Rings.jl:84
[2] top-level scope …
Run Code Online (Sandbox Code Playgroud) 当以 n_splines=5 拟合线性GAM
模型时python
,拟合分段线性函数:
import statsmodels.api as sm
from pygam import LinearGAM
data = sm.datasets.get_rdataset('mtcars').data
Y = data['mpg']
X = data.drop("mpg",axis=1)
model = LinearGAM(spline_order=1,n_splines=5).fit(X, Y)
Run Code Online (Sandbox Code Playgroud)
通过使用.coef
拟合模型,可以恢复每个样条的系数以进行进一步分析:
model.coef_
Run Code Online (Sandbox Code Playgroud)
然而,我们如何获得每个变量的 5 个样条曲线的截面呢?
例如,对于cyl
变量,我们将拟合以下样条线:
这 5 个部分由结决定,因此,在图中我们将看到计算得出的 beta 的变量限制。(即:4-5,5-6,6-7,7-8)。
我在文档中找到的唯一方法model.edge_knots
是
长度为 2 的浮点数的类似数组。样条函数的最小和最大域。
在此示例中,它对应于cyl
[4,8]。
coefficients ×10
r ×5
python ×3
regression ×3
polynomials ×2
gam ×1
glmnet ×1
julia ×1
lambda ×1
math ×1
mixed-models ×1
nlme ×1
numpy ×1
pandas ×1
parameters ×1
scikit-learn ×1
spline ×1
stargazer ×1
statsmodels ×1