楼主: weishoudao
1721 2

[空间经济学] matlab的OLS回归求助 [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

博士生

55%

还不是VIP/贵宾

-

威望
0
论坛币
179 个
通用积分
6.2000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
48289 点
帖子
121
精华
0
在线时间
496 小时
注册时间
2005-10-7
最后登录
2025-12-27

楼主
weishoudao 发表于 2019-8-10 20:52:45 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
在用matlab做空间面板模型的LM之前,用了OLS做回归,但是,提示“所有输入参数都必须为表”,请问大家怎么解决呀?数据请见附件。先谢谢大家!
format long;
format compact;
load kongjianzixiangguan.mat;
% dimensions of the problem;
T=15; % number of time periods;
N=30; % number of regions;
y=data(:,[4]); % column number in the data matrix that corresponds to the dependent variable
x=data(:,[7,12,13,14,20]); % column numbers in the data matrix that correspond to the independent variables
xconstant=ones(N*T,1);
[nobs K]=size(x);

% ols estimation (一般面板模型)
results=ols(y,[xconstant x]);
vnames=strvcat('lne','intercept','er','lnhc','lnmc','lnfdi','rat');
prt_reg(results,vnames,1);
sige=results.sige*((nobs-K)/nobs);
loglikols=-nobs/2*log(2*pi*sige)-1/(2*sige)*results.resid'*results.resid;
LMsarsem_panel(results,queen,y,[xconstant x]); % (Robust) LM tests

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB matla atlab Mat Atl

沙发
yyyyyyyyyyy8 学生认证  发表于 2024-11-30 20:11:26
请问解决了吗

藤椅
赵安豆 发表于 2024-11-30 20:13:03
在MATLAB中执行OLS回归时遇到“所有输入参数都必须为表”的提示,通常意味着你正在使用一个需要表格(table)作为输入的函数,而你可能直接传递了一个矩阵或向量。

如果你的数据确实是以矩阵形式存在,并且你想进行简单的OLS回归,你可以使用`fitlm`或者自定义代码来实现。这里以使用`fitlm`为例说明如何操作:

1. 首先确认你的数据格式是正确的(y和x)。你的示例中,y是一个列向量(包含第4列的数据),而x是矩阵形式(包含了第7、12、13、14、20列的数据)。

2. 如果你想在模型中加入常数项,可以通过将全为1的列向量与x合并来实现。但是`fitlm`函数默认包含常数项,所以你可以直接使用你的x矩阵。

3. 使用`fitlm`进行回归:

```matlab
% dimensions of the problem;
T=15; % number of time periods;
N=30; % number of regions;

% Load data from .mat file
load('kongjianzixiangguan.mat');

% Define dependent and independent variables
y = data(:,4);
x = [ones(size(data,1), 1) data(:,[7,12,13,14,20])]; % 注意这里添加了常数项

% Perform OLS regression using fitlm (since the error is about needing a table input)
mdl = fitlm(x, y);

% Display the results
disp(mdl);
```

但是,如果`ols`是特定的工具箱函数(比如在某些经济学或统计学的工具包中),你可能需要查阅该函数的具体文档来确定其正确的使用方法。通常情况下,对于基本的OLS回归,上述使用`fitlm`的方法应该足够。

注意:你的示例代码中的"ols..."部分没有完成,所以无法给出具体的修改建议。如果`ols`是一个用户定义或工具箱提供的函数,请确保按照该函数的要求来调整输入格式。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-31 14:36