下面是对全国200多个城市人口和GDP进行线性回归:
- 样本获取:http://pan.baidu.com/s/1qu6dq
- 梯度下降回归:
%% linear regression from sunjerdege with matlab clear all; %% read GDP data % c1: city;c2:population;c3:GDP [city x y] = textread('城市人口_GDP数据.txt','%s%f%f'); [num tmp] = size(x); x = x/1000; y = y/1000; % 先看看整体是否有线性的趋势 figure hold on plot(x, y, 'b.'); title('2011全国城市人口与GDP散点图'); xlabel('人口(万)'); ylabel('GDP(亿)'); % 用matlab内置函数拟合 p = polyfit(x, y, 1); % 计算回归系数 p_y = polyval(p, x); % 根据回归系数计算拟合的y plot(x, p_y, 'r'); legend('','matlab内置拟合',1); hold off %% 自己拟合一下 % hy