标签: linear-regression

最佳拟合散点图

我正在尝试用matlab中的最佳拟合线绘制散点图,我可以使用散射(x1,x2)或散点图(x1,x2)获得散点图,但基本拟合选项被遮蔽并且lsline返回错误'找不到允许的线型.什么都没做'

任何帮助都会很棒,

谢谢,乔恩.

matlab scatter-plot linear-regression

8
推荐指数
1
解决办法
9万
查看次数

从数据/系数创建lm对象

有没有人知道在给定数据集和系数的情况下可以创建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)

r linear-regression

8
推荐指数
1
解决办法
5431
查看次数

R:plm - 年固定效应 - 年和季度数据

我在设置面板数据模型时遇到问题.

以下是一些示例数据:

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'吗?

提前感谢您的帮助!

regression r linear-regression plm

8
推荐指数
1
解决办法
1万
查看次数

在R中提取回归P值

我在查询文件中的不同列上执行多次回归.我的任务是从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值. …

r linear-regression p-value

8
推荐指数
3
解决办法
1万
查看次数

R中的回归(logistic):查找特定y值(结果)的x值(预测值)

我装逻辑回归模型预测的二元结果vsmpg(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)

在此输入图像描述

regression r linear-regression predict logistic-regression

8
推荐指数
2
解决办法
4156
查看次数

SVM的损失函数的梯度

我在卷积神经网络上研究这个课程.我一直在尝试为svm实现一个损失函数的梯度,并且(我有一个解决方案的副本)我无法理解为什么解决方案是正确的.

页面上,它定义了损失函数的梯度,如下所示: cs231n的课程笔记 在我的代码中,我的分析梯度在代码中实现时与数字梯度匹配,如下所示:

 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

8
推荐指数
1
解决办法
4461
查看次数

plot.lm()如何确定残差与拟合图的异常值?

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)

在此输入图像描述

plot regression r linear-regression lm

8
推荐指数
1
解决办法
1770
查看次数

在lm()中使用两个字符之间的"冒号"作为回归量

当我们:在两个字符之间放一个冒号时是什么意思?我确信这不是说从角色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)

r linear-regression

8
推荐指数
1
解决办法
2212
查看次数

使用group by和tidy运行多个模型并将结果提取到数据帧

我想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)

r data-manipulation linear-regression

8
推荐指数
1
解决办法
157
查看次数

在一些时期之后训练时参数射到无限远

我是第一次在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)

linear-regression python-3.x tensorflow tensorboard

8
推荐指数
1
解决办法
213
查看次数