楼主: tcpq
51126 20

[一般统计问题] 关于回归中加入交叉项的问题 [推广有奖]

  • 5关注
  • 4粉丝

大王

已卖:49份资源

学科带头人

36%

还不是VIP/贵宾

-

威望
0
论坛币
1473 个
通用积分
10.8312
学术水平
15 点
热心指数
37 点
信用等级
16 点
经验
35982 点
帖子
989
精华
0
在线时间
3270 小时
注册时间
2008-3-15
最后登录
2025-12-6

楼主
tcpq 发表于 2012-4-9 18:59:48 |AI写论文
5论坛币
请教版主,牛人们:

如果我的模型设定为:
Y=a+b*X1+c*X2+d*X1*X2
其中X1、X2都不是0-1变量,能不能这样把X1*X2作为交叉项放进去?
如果可以的话,是不是就和一般的多元线性回归一样的做?如果不可以的话,应该怎么做,分组么?

我的目的是为了说明X1越大,X2对Y的影响越大。


最佳答案

erinich 查看完整内容

这个是可以做的,计算方法就是你先要在stata中 g x3=x1*x2 只要把x3作为一个新的变量对待就可以了,直接回归,不需要分组 stata中也有增加新的命令可以不需要生成 x3 而直接用Y=a+b*X1+c*X2+d*X1*X2的形式进行操作,但是要在比较高版本的stata中进行操作,而且需要其他命令,比较麻烦
关键词:交叉项 多元线性回归 0-1变量 线性回归 怎么做 模型 影响

沙发
erinich 发表于 2012-4-9 18:59:49
这个是可以做的,计算方法就是你先要在stata中 g x3=x1*x2 只要把x3作为一个新的变量对待就可以了,直接回归,不需要分组
stata中也有增加新的命令可以不需要生成 x3 而直接用Y=a+b*X1+c*X2+d*X1*X2的形式进行操作,但是要在比较高版本的stata中进行操作,而且需要其他命令,比较麻烦
已有 4 人评分经验 学术水平 热心指数 信用等级 收起 理由
Maxine白夜行 + 1 + 1 + 1 精彩帖子
捣蛋妮/kf + 1 + 2 精彩帖子
np84 + 20 鼓励积极发帖讨论
Stakiny + 1 + 1 + 1 热心帮助其他会员

总评分: 经验 + 20  学术水平 + 3  热心指数 + 4  信用等级 + 2   查看全部评分

藤椅
bobojin 发表于 2012-4-9 19:28:22
不可以用一般的回归做,因为x1*x2已经不是线性啦,用非线性回归做。

板凳
tcpq 发表于 2012-4-9 19:52:46
bobojin 发表于 2012-4-9 19:28
不可以用一般的回归做,因为x1*x2已经不是线性啦,用非线性回归做。
那请问,stata里怎么做法呢? 我之前就用的xtreg 和xtfmb 的命令。因为我的具体数据是a股10年的变量。

报纸
ihsihs 发表于 2012-4-9 19:56:50
可以象一般的线性回归那样做,令X1*X2=X3,做三元线性回归,要想说明你的问题,去检验d>0就可以了
离2200还有多远

地板
tcpq 发表于 2012-4-10 10:36:27
谢谢楼上几位。

7
jiangbogz 发表于 2012-5-8 16:29:30
erinich 说得简单明了。
看庭前花开花落;
望天上云卷云舒。

8
sungmoo 发表于 2012-5-8 18:35:25
reg y c.x1##c.x2
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
zhu1949101 + 1 + 1 + 1 精彩帖子
beiluo08 + 4 精彩帖子

总评分: 学术水平 + 5  热心指数 + 1  信用等级 + 1   查看全部评分

9
lihoujian 发表于 2012-5-10 15:41:03
需要中心化数据,center命令,然后构建交叉项,genicv这个命令
懂得放弃才会拥有

10
水蓝色qing 发表于 2012-5-20 11:21:09
erinich 发表于 2012-4-9 18:59
这个是可以做的,计算方法就是你先要在stata中 g x3=x1*x2 只要把x3作为一个新的变量对待就可以了,直接回归 ...
我在生成新的x3时:gen x3=x1*x2。有错误提示:x1 already defined.

这是怎么回事儿呢?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-3 14:21