我正在尝试用matlab中的最佳拟合线绘制散点图,我可以使用散射(x1,x2)或散点图(x1,x2)获得散点图,但基本拟合选项被遮蔽并且lsline返回错误'找不到允许的线型.什么都没做'
任何帮助都会很棒,
谢谢,乔恩.
有没有人知道在给定数据集和系数的情况下可以创建lm对象的函数?
我对此很感兴趣,因为我开始玩贝叶斯模型平均(BMA),我希望能够从bicreg的结果中创建一个lm对象.我想访问所有漂亮的通用lm函数,如诊断绘图,预测,cv.lm等.
如果您非常确定不存在这样的功能,那么知道它也会非常有用!
library(BMA)
mtcars_y <- mtcars[, 1] #mpg
mtcars_x <- as.matrix(mtcars[,-1])
res <- bicreg(mtcars_x, mtcars_y)
summary(res)
res$postmean # bma coefficients
# The approximate form of the function
# I'm looking for
lmObject <- magicFunction(data=mtcars, coefficients=res$postmean)
Run Code Online (Sandbox Code Playgroud) 我在设置面板数据模型时遇到问题.
以下是一些示例数据:
library(plm)
id <- c(1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2)
year <- c(1999,1999,1999,1999,2000,2000,2000,2000,1999,1999,1999,1999,2000,2000,2000,2000)
qtr <- c(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4)
y <- rnorm(16, mean=0, sd=1)
x <- rnorm(16, mean=0, sd=1)
data <- data.frame(id=id,year=year,qtr=qtr,y_q=paste(year,qtr,sep="_"),y=y,x=x)
Run Code Online (Sandbox Code Playgroud)
我运行以下回归,使用'id'作为单个索引,'year'作为时间索引:
reg1 <- plm(y ~ x, data=data,index=c("id", "year"), model="within",effect="time")
Run Code Online (Sandbox Code Playgroud)
不幸的是,我收到以下错误:
重复的couple(time-id)pdim.default中的错误(index [[1]],index [[2]]):
所以为了解决这个问题,我使用了'y_q'的组合变量:
reg1 <- plm(y ~ x, data=data,index=c("id", "y_q"), model="within",effect="time")
Run Code Online (Sandbox Code Playgroud)
但这是我的问题 - 我只想要一年的固定效果,而不是一年四季.
还有另一种方法可以解决早期问题,而不是制作关系指数'y_q'吗?
提前感谢您的帮助!
我在查询文件中的不同列上执行多次回归.我的任务是从R中的回归函数lm中提取某些结果.
到目前为止,我有,
> reg <- lm(query$y1 ~ query$x1 + query$x2)
> summary(reg)
Call:
lm(formula = query$y1 ~ query$x1 + query$x2)
Residuals:
1 2 3 4
7.68 -4.48 -7.04 3.84
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1287.26 685.75 1.877 0.312
query$x1 -29.30 20.92 -1.400 0.395
query$x2 -116.90 45.79 -2.553 0.238
Residual standard error: 11.97 on 1 degrees of freedom
Multiple R-squared: 0.9233, Adjusted R-squared: 0.7699
F-statistic: 6.019 on 2 and 1 DF, p-value: 0.277
Run Code Online (Sandbox Code Playgroud)
要提取系数,r平方和F统计,我使用以下内容:
reg$coefficients
summary(reg)$r.squared
summary(reg)$fstatistic
Run Code Online (Sandbox Code Playgroud)
我想提取0.2值的p值. …
我装逻辑回归模型预测的二元结果vs的mpg(mtcars数据集).情节如下所示.如何确定mpg任何特定vs值的值?例如,我有兴趣在mpg概率vs为0.50 时找出值是什么.感谢任何人都能提供的帮助!
model <- glm(vs ~ mpg, data = mtcars, family = binomial)
ggplot(mtcars, aes(mpg, vs)) +
geom_point() +
stat_smooth(method = "glm", method.args = list(family = "binomial"), se = FALSE)
Run Code Online (Sandbox Code Playgroud)
我在卷积神经网络上研究这个课程.我一直在尝试为svm实现一个损失函数的梯度,并且(我有一个解决方案的副本)我无法理解为什么解决方案是正确的.
在此页面上,它定义了损失函数的梯度,如下所示:
在我的代码中,我的分析梯度在代码中实现时与数字梯度匹配,如下所示:
dW = np.zeros(W.shape) # initialize the gradient as zero
# compute the loss and the gradient
num_classes = W.shape[1]
num_train = X.shape[0]
loss = 0.0
for i in xrange(num_train):
scores = X[i].dot(W)
correct_class_score = scores[y[i]]
for j in xrange(num_classes):
if j == y[i]:
if margin > 0:
continue
margin = scores[j] - correct_class_score + 1 # note delta = 1
if margin > 0:
dW[:, y[i]] += -X[i]
dW[:, j] += X[i] # …Run Code Online (Sandbox Code Playgroud) python svm computer-vision linear-regression gradient-descent
plot.lm()如何确定残差与拟合图的哪些点是异常值(即标记的内容)?我在文档中找到的唯一一件事是:
细节
sub.caption-默认情况下,函数调用 - 在每个绘图上显示为副标题(在x轴标题下),当绘图位于不同页面上时,或者当有多个绘图时作为外边距中的副标题(如果有)每页.
'Scale-Location'图也称为'Spread-Location'或'S-L'图,它采用绝对残差的平方根来减小偏度(sqrt(| E |))比| | E | 对于高斯零均值E).
'S-L',QQ和剩余杠杆图使用具有相同方差的标准化残差(在假设下).它们以R [i] /(s*sqrt(1-h.ii))给出,其中h.ii是帽子矩阵的对角线条目,影响()$ hat(另见帽子),以及残差 - 杠杆图使用R [i]的标准化Pearson残差(residuals.glm(type ="pearson")).
Residual-Leverage图显示Cook的距离等于Cook.levels的值(默认为0.5和1),并省略带有警告的杠杆的情况.如果杠杆率是恒定的(通常是在平衡的aov情况下的情况),则该图使用因子水平组合而不是x轴的杠杆作用.(因子水平按平均拟合值排序.)
在Cook的距离与杠杆/(1-leverage)图中,幅度相等的标准化残差的轮廓是通过原点的线.轮廓线标有大小.
但它没有说明如何生成残差与拟合图以及如何选择要标记的点.
更新:Zheyuan Li的回答表明,残差与拟合图标点的方式实际上只是通过查看残差最大的3个点.确实如此.它可以通过以下"极端"示例来证明.
x = c(1,2,3,4,5,6)
y = c(2,4,6,8,10,12)
foo = data.frame(x,y)
model = lm(y ~ x, data = foo)
Run Code Online (Sandbox Code Playgroud)
当我们:在两个字符之间放一个冒号时是什么意思?我确信这不是说从角色A到角色B.
这是代码:
fit9=lm(Sales~.+Income:Advertising+Price:Age,data=Carseats)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.5755654 1.0087470 6.519 2.22e-10 ***
CompPrice 0.0929371 0.0041183 22.567 < 2e-16 ***
Income 0.0108940 0.0026044 4.183 3.57e-05 ***
Advertising 0.0702462 0.0226091 3.107 0.002030 **
Population 0.0001592 0.0003679 0.433 0.665330
Price -0.1008064 0.0074399 -13.549 < 2e-16 ***
ShelveLocGood 4.8486762 0.1528378 31.724 < 2e-16 ***
ShelveLocMedium 1.9532620 0.1257682 15.531 < 2e-16 ***
Age -0.0579466 0.0159506 -3.633 0.000318 ***
Education -0.0208525 0.0196131 -1.063 0.288361
UrbanYes 0.1401597 0.1124019 1.247 0.213171
USYes …Run Code Online (Sandbox Code Playgroud) 我想group_by %>% do(tidy(*))用来运行几个线性回归模型,并将模型结果提取到数据框.每个模型的数据框应包括以下内容:结果变量,暴露变量,样本大小,β系数,SE和p值.
library(tidyverse)
data("mtcars")
outcomes <- c("wt, mpg", "hp", "disp")
exposures <- c("gear", "vs", "am")
covariates <- c("drat", "qsec")
Run Code Online (Sandbox Code Playgroud)
模型应该针对所有协变量调整每次曝光的每个结果,例如
lm(wt ~ factor(gear)+drat+qsec, mtcars, na.action = na.omit)
lm(wt ~ factor(vs)+drat+qsec, mtcars, na.action = na.omit)
etc...
Run Code Online (Sandbox Code Playgroud)
最终的代码可能看起来像这样?
models <- (mtcars %>%
gather(x_var, x_value, -c(y_var, y_i, cv1:cv3)) %>%
group_by(y_var, x_var) %>%
do(broom::tidy(lm(y_i ~ x_value + cv1 + cv2 + cv3, data = .))))
Run Code Online (Sandbox Code Playgroud) 我是第一次在Tensorflow中实现线性回归.最初,我尝试使用线性模型,但经过几次训练后,我的参数突然变为无穷大.所以,我将我的模型改为二次模型并再次尝试训练,但仍然在几次迭代的时期之后,同样的事情正在发生.
因此,tf.summary.histogram('Weights',W0)中的参数接收inf作为参数,类似于W1和b1的情况.
我想在tensorboard中看到我的参数(因为我从来没有使用它)但是得到了这个错误.
我之前已经问过这个问题,但是稍微改变的是我使用的线性模型又给出了同样的问题(我不知道这是因为参数变为无穷大因为我在Ipython笔记本中运行了这个但是当我在终端中运行程序时,生成了下面提到的错误,这帮助我弄清楚问题是由于参数射到无穷大).在评论部分,我知道它在某人的PC上工作,他的张量板显示参数实际上达到了无穷大.
这是前面提到的问题的链接.我希望我在我的程序中正确地宣布Y_其他人纠正我!
以下是Tensorflow中的代码:
import tensorflow as tf
import numpy as np
import pandas as pd
from sklearn.datasets import load_boston
import matplotlib.pyplot as plt
boston=load_boston()
type(boston)
boston.feature_names
bd=pd.DataFrame(data=boston.data,columns=boston.feature_names)
bd['Price']=pd.DataFrame(data=boston.target)
np.random.shuffle(bd.values)
W0=tf.Variable(0.3)
W1=tf.Variable(0.2)
b=tf.Variable(0.1)
#print(bd.shape[1])
tf.summary.histogram('Weights', W0)
tf.summary.histogram('Weights', W1)
tf.summary.histogram('Biases', b)
dataset_input=bd.iloc[:, 0 : bd.shape[1]-1];
#dataset_input.head(2)
dataset_output=bd.iloc[:, bd.shape[1]-1]
dataset_output=dataset_output.values
dataset_output=dataset_output.reshape((bd.shape[0],1))
#converted (506,) to (506,1) because in pandas
#the shape was not changing and it was needed later in feed_dict
dataset_input=dataset_input.values #only dataset_input is in DataFrame form and converting …Run Code Online (Sandbox Code Playgroud) r ×7
regression ×3
lm ×1
matlab ×1
p-value ×1
plm ×1
plot ×1
predict ×1
python ×1
python-3.x ×1
scatter-plot ×1
svm ×1
tensorboard ×1
tensorflow ×1