一元线性回归模型的拟合优度检验的matlab代码 matlab中drawnow什么意思

matlab / \ \u7b26\u53f7\u662f\u4ec0\u4e48\u610f\u601d

10 MATLAB\u7b26\u53f7\u8fd0\u7b97

drawnow\u662f\u7528\u4e8e\u5237\u65b0\u5c4f\u5e55\u7684\uff0c\u64cd\u4f5c\u65b9\u6cd5\u5982\u4e0b\uff1a
1\u3001\u5411\u91cf\u7684\u7cfb\u6570\u53ef\u88ab\u5b9a\u4e49\u4e3a\u591a\u9879\u5f0f\u7684\u7cfb\u6570\uff0c\u4f8b\u5982\u4e24\u4e2a\u5411\u91cfy1 = [1 0 3 2]\uff0cy2 =[3 4 0 5]\uff0c\u5206\u522b\u5bf9\u5e94\u4e8ey1(s)=s^3+3s\u20132=0 \u548cy2(s)=3s^3+4s^2\u20135=0\u8fd9\u4e24\u4e2a\u591a\u9879\u5f0f\u65b9\u7a0b\u3002

2\u3001\u591a\u9879\u5f0f\u53ef\u4ee5\u4f7f\u7528PoalVal\uff08\uff09\u51fd\u6570\u53ef\u4ee5\u8ba1\u7b97\u4e00\u4e2a\u591a\u9879\u5f0f\u7684\u503c\uff0c\u4f8b\u5982\uff0c\u53ef\u4ee5\u8ba1\u7b97y1\u548cy2\u4e2d\u5b9a\u4e49\u7684\u591a\u9879\u5f0f\u7684\u503c\u3002

3\u3001 \u591a\u9879\u5f0f\u7684\u6839\u5373\u4e3a\u591a\u9879\u5f0f\u503c\u4e3a\u96f6\u65f6\u7684\u6570\u503c\u3002\u5982\u679c\u5df2\u77e5\u591a\u9879\u5f0f\u7cfb\u6570\uff0c\u53ef\u4ee5\u7528\u6b64\u51fd\u6570\u8fdb\u884c\u6c42\u89e3\u3002

4\u3001\u5bf9\u4e24\u4e2a\u591a\u9879\u5f0f\u7684\u7cfb\u6570\u52a0\u51cf\u901f\u6765\u5bf9\u591a\u9879\u5f0f\u7684\u52a0\u51cf\u8fdb\u884c\u8ba1\u7b97\u3002\u4e24\u4e2a\u591a\u9879\u5f0f\u7684\u4e58\u79ef\u53ef\u4ee5\u7528\u5377\u79ef\u8fd0\u7b97\u51fd\u6570conv()\u5f97\u5230\u3002\u9664\u6cd5\u53ef\u4ee5\u901a\u8fc7deconv()\u51fd\u6570\u5f97\u5230\u3002

5\u3001\u591a\u9879\u5f0f\u5fae\u5206\u53ef\u4ee5\u4f7f\u7528PultDead\uff08\uff09\u51fd\u6570\u6765\u5b8c\u6210\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u4f60\u6709\u4e00\u4e2a\u591a\u9879\u5f0fy\uff08x\uff09\uff1dx^3-2*x^2+4^x\uff1d5\uff1d0\u3002\u8fd9\u610f\u5473\u7740\u5bf9dy/dx=0=3*x^2-4*x+4\u3002

主要是用regress函数来进行:给你举个例子来说明吧。
x=[0 1 2 3 4 ]';y=[1.0 1.3 1.5,2.0 2.3]';
x=[ones(5,1),x]; %给出两个数组元素
[b,bint,r,rint,stats]=regress(y,x,0.05); %对x和y进行一元线性回归,并得到相关系数,其中,stats中第一个数即为相关系数,大于0.9就认为拟合很好。
结果:stats =
0.9829 171.9474 0.0010 0.0063
即为0.9829.

%% 该代码为基于遗传算法神经网络的预测代码
% 清空环境变量
clc
clear
%
%% 网络结构建立
%读取数据
load data input output

%节点个数
inputnum=2;
hiddennum=5;
outputnum=1;

%训练数据和预测数据
input_train=input(1:1900,:)';
input_test=input(1901:2000,:)';
output_train=output(1:1900)';
output_test=output(1901:2000)';

%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);

%构建网络
net=newff(inputn,outputn,hiddennum);

%% 遗传算法参数初始化
maxgen=20; %进化代数,即迭代次数
sizepop=10; %种群规模
pcross=[0.2]; %交叉概率选择,0和1之间
pmutation=[0.1]; %变异概率选择,0和1之间

%节点总数
numsum=inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum;

lenchrom=ones(1,numsum);
bound=[-3*ones(numsum,1) 3*ones(numsum,1)]; %数据范围

%------------------------------------------------------种群初始化--------------------------------------------------------
individuals=struct('fitness',zeros(1,sizepop), 'chrom',[]); %将种群信息定义为一个结构体
avgfitness=[]; %每一代种群的平均适应度
bestfitness=[]; %每一代种群的最佳适应度
bestchrom=[]; %适应度最好的染色体
%初始化种群
for i=1:sizepop
%随机产生一个种群
individuals.chrom(i,:)=Code(lenchrom,bound); %编码(binary和grey的编码结果为一个实数,float的编码结果为一个实数向量)
x=individuals.chrom(i,:);
%计算适应度
individuals.fitness(i)=fun(x,inputnum,hiddennum,outputnum,net,inputn,outputn); %染色体的适应度
end
FitRecord=[];
%找最好的染色体
[bestfitness bestindex]=min(individuals.fitness);
bestchrom=individuals.chrom(bestindex,:); %最好的染色体
avgfitness=sum(individuals.fitness)/sizepop; %染色体的平均适应度
% 记录每一代进化中最好的适应度和平均适应度
trace=[avgfitness bestfitness];

%% 迭代求解最佳初始阀值和权值
% 进化开始
for i=1:maxgen
i
% 选择
individuals=Select(individuals,sizepop);
avgfitness=sum(individuals.fitness)/sizepop;
%交叉
individuals.chrom=Cross(pcross,lenchrom,individuals.chrom,sizepop,bound);
% 变异
individuals.chrom=Mutation(pmutation,lenchrom,individuals.chrom,sizepop,i,maxgen,bound);

% 计算适应度
for j=1:sizepop
x=individuals.chrom(j,:); %解码
individuals.fitness(j)=fun(x,inputnum,hiddennum,outputnum,net,inputn,outputn);
end

%找到最小和最大适应度的染色体及它们在种群中的位置
[newbestfitness,newbestindex]=min(individuals.fitness);
[worestfitness,worestindex]=max(individuals.fitness);
% 代替上一次进化中最好的染色体
if bestfitness>newbestfitness
bestfitness=newbestfitness;
bestchrom=individuals.chrom(newbestindex,:);
end
individuals.chrom(worestindex,:)=bestchrom;
individuals.fitness(worestindex)=bestfitness;

avgfitness=sum(individuals.fitness)/sizepop;

trace=[trace;avgfitness bestfitness]; %记录每一代进化中最好的适应度和平均适应度
FitRecord=[FitRecord;individuals.fitness];
end

%% 遗传算法结果分析
figure(1)
[r c]=size(trace);
plot([1:r]',trace(:,2),'b--');
title(['适应度曲线 ' '终止代数=' num2str(maxgen)]);
xlabel('进化代数');ylabel('适应度');
legend('平均适应度','最佳适应度');
disp('适应度 变量');

%% 把最优初始阀值权值赋予网络预测
% %用遗传算法优化的BP网络进行值预测
w1=x(1:inputnum*hiddennum);
B1=x(inputnum*hiddennum+1:inputnum*hiddennum+hiddennum);
w2=x(inputnum*hiddennum+hiddennum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum);
B2=x(inputnum*hiddennum+hiddennum+hiddennum*outputnum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum);

net.iw{1,1}=reshape(w1,hiddennum,inputnum);
net.lw{2,1}=reshape(w2,outputnum,hiddennum);
net.b{1}=reshape(B1,hiddennum,1);
net.b{2}=B2;

%% BP网络训练
%网络进化参数
net.trainParam.epochs=100;
net.trainParam.lr=0.1;
%net.trainParam.goal=0.00001;

%网络训练
[net,per2]=train(net,inputn,outputn);

%% BP网络预测
%数据归一化
inputn_test=mapminmax('apply',input_test,inputps);
an=sim(net,inputn_test);
test_simu=mapminmax('reverse',an,outputps);
error=test_simu-output_test;

web browser www.matlabsky.com

一元线性回归模型的拟合优度检验的matlab代码
滔虽滑六吐效版追博骗滥商图核凭
愿你俩恩恩爱爱,意笃情深,此生爱情永恒,爱心与日俱增!

一元线性回归模型的拟合优度检验的matlab代码
滔虽滑六吐效版追博骗滥商图核凭
愿你俩恩恩爱爱,意笃情深,此生爱情永恒,爱心与日俱增!

利用“模型概述表”中的“修正的R方”来检验,该值越接近1越好。


  • 瀵涓鍏冪嚎鎬у洖褰掓ā鍨嬭繘琛屾嫙鍚堜紭搴︽楠鍒╃敤鐨勬槸t缁熻閲,鏄惁姝g‘?_鐧惧害鐭...
    绛旓細瀵涓鍏冪嚎鎬у洖褰掓ā鍨杩涜鎷熷悎浼樺害妫楠鍒╃敤鐨勬槸鍙喅绯绘暟R2缁熻閲忥紝瀵瑰洖褰掑弬鏁扮殑鐨勬樉钁楁ф楠屾瀯閫犵殑缁熻閲忔槸t缁熻閲忋
  • 鍒ゅ畾涓鍏冪嚎鎬у洖褰鏂圭▼鎷熷悎浼樺害鐨勫垽瀹氱郴鏁癛鐨勫彇鍊艰寖鍥
    绛旓細锛2锛鎷熷悎搴鎸囨爣RNew=1-(Q/鈭憏^2)^(1/2)瀵绾挎鏂圭▼锛歊^2==鈭(y棰勬祴-y)^2/==鈭(y瀹為檯-y)^2锛寉鏄钩鍧囨暟銆傚鏋淩2=0.775锛屽垯璇存槑鍙橀噺y鐨勫彉寮備腑鏈77.5锛呮槸鐢卞彉閲廥寮曡捣鐨勩傚綋R2锛1鏃讹紝琛ㄧず鎵鏈夌殑瑙傛祴鐐瑰叏閮ㄨ惤鍦鍥炲綊鐩寸嚎涓娿傚綋R2=0鏃讹紝琛ㄧず鑷彉閲忎笌鍥犲彉閲忔棤绾挎鍏崇郴銆鎷熷悎浼樺害鏄寚鍥...
  • 鎬庝箞妫楠屽洖褰掓ā鍨嬬殑鎷熷悎浼樺害
    绛旓細1.鍐冲畾绯绘暟锛圧_锛夛細鍐冲畾绯绘暟鏄 閲鍥炲綊妯″瀷鎷熷悎浼樺害鐨勬寚鏍囷紝瀹冭〃绀鸿嚜鍙橀噺鍜屽洜鍙橀噺涔嬮棿鐨勭浉鍏崇▼搴︺傚喅瀹氱郴鏁扮殑鍊间粙浜0鍜1涔嬮棿锛岃秺鎺ヨ繎1琛ㄧず鎷熷悎绋嬪害瓒婂ソ銆2.鍧囨柟璇樊锛圡SE锛夛細鍧囨柟璇樊鏄 閲忓洖褰掓ā鍨嬮娴嬪间笌瀹為檯鍊间箣闂村樊寮傜殑鎸囨爣銆侻SE鐨勫艰秺灏忚〃绀烘嫙鍚堢▼搴﹁秺濂姐3.鍧囨柟鏍硅宸紙RMSE锛夛細鍧囨柟鏍硅宸槸鍧囨柟...
  • 涓鍏冪嚎鎬у洖褰掔殑鏄捐憲鎬妫楠鍖呮嫭
    绛旓細2. 鏂圭▼鏄捐憲鎬ф楠岋紙F妫楠岋級锛氳繖鏄负浜嗘楠屾暣涓鍥炲綊妯″瀷鏄惁鏄捐憲銆傚鏋淔鍊兼樉钁楋紝鍒欒鏄庡洖褰掓ā鍨嬫槸鏈夋剰涔夌殑锛屽嵆鑷彉閲忓拰鍥犲彉閲忎箣闂村瓨鍦ㄦ樉钁楃殑绾挎鍏崇郴銆傛澶栵紝杩樺彲浠ラ氳繃鐩稿叧绯绘暟鏉ュ弽搴旇嚜鍙橀噺涓庡洜鍙橀噺鐨勭嚎鎬у叧绯荤殑瀵嗗垏绋嬪害銆傚悓鏃讹紝鎷熷悎浼樺害妫楠(R^2)涔熸槸涓涓噸瑕佺殑鎸囨爣锛屽畠鐢ㄦ潵妫楠屾ā鍨鍜岃娴嬪鐨勬嫙鍚绋嬪害銆...
  • 绾挎у洖褰掓楠鍖呮嫭鍝簺鍐呭?
    绛旓細绾挎у洖褰妫楠屾柟寮忎富瑕佹湁浠ヤ笅鍑犵锛1.鎷熷悎浼樺害妫楠锛圧鏂规楠岋級锛氶氳繃璁$畻鍐冲畾绯绘暟锛圧鏂癸級鏉ヨ瘎浼版ā鍨嬪鏁版嵁鐨勬嫙鍚绋嬪害銆俁鏂硅秺鎺ヨ繎1锛岃鏄妯″瀷鎷熷悎鏁堟灉瓒婂ソ锛涜秺鎺ヨ繎0锛岃鏄庢ā鍨嬫嫙鍚堟晥鏋滆秺宸2.F妫楠岋細鐢ㄤ簬妫楠屽洖褰鏂圭▼鐨勬樉钁楁с侳缁熻閲忚〃绀哄洖褰掓柟绋嬩腑鎵鏈夎嚜鍙橀噺瀵瑰洜鍙橀噺鐨勫奖鍝嶆槸鍚︽樉钁椼傚鏋淔鍊煎ぇ浜庝复鐣屽...
  • eviews涓鍏冪嚎鎬у洖褰掓ā鍨嬬殑瀹為獙璁ㄨ鎬庝箞鍐
    绛旓細eviews涓鍏冪嚎鎬у洖褰掓ā鍨嬬殑瀹為獙璁ㄨ鍐欎綔鏂瑰紡濡備笅锛1銆佸洖褰掓柟绋嬬殑鏄捐憲鎬ф楠岋細闇瑕佸鍥炲綊鏂圭▼鐨勬樉钁楁杩涜妫楠銆傚彲浠ユ煡鐪媡鍊笺丳鍊煎拰F鍊肩瓑鎸囨爣锛屽垽鏂洖褰掓柟绋嬫槸鍚︽樉钁椼傚鏋滃洖褰掓柟绋嬫樉钁楋紝鍒欒鏄庤嚜鍙橀噺瀵瑰洜鍙橀噺鐨勫奖鍝嶆槸鏈夌粺璁″鎰忎箟鐨勩2銆佽嚜鍙橀噺瀵瑰洜鍙橀噺鐨勫奖鍝嶏細鎺ヤ笅鏉ュ彲浠ヨ璁鸿嚜鍙橀噺瀵瑰洜鍙橀噺鐨勫奖鍝嶃傚彲浠ラ氳繃...
  • 鎬庝箞妫楠岀嚎鎬у洖褰掓ā鍨嬬殑鏄捐憲鎬у拰绾挎у叧绯?
    绛旓細绾挎у洖褰妫楠屾柟寮忎富瑕佹湁浠ヤ笅鍑犵锛1.鎷熷悎浼樺害妫楠锛圧鏂规楠岋級锛氶氳繃璁$畻鍐冲畾绯绘暟锛圧鏂癸級鏉ヨ瘎浼版ā鍨嬪鏁版嵁鐨勬嫙鍚绋嬪害銆俁鏂硅秺鎺ヨ繎1锛岃鏄妯″瀷鎷熷悎鏁堟灉瓒婂ソ锛涜秺鎺ヨ繎0锛岃鏄庢ā鍨嬫嫙鍚堟晥鏋滆秺宸2.F妫楠岋細鐢ㄤ簬妫楠屽洖褰鏂圭▼鐨勬樉钁楁с侳缁熻閲忚〃绀哄洖褰掓柟绋嬩腑鎵鏈夎嚜鍙橀噺瀵瑰洜鍙橀噺鐨勫奖鍝嶆槸鍚︽樉钁椼傚鏋淔鍊煎ぇ浜庝复鐣屽...
  • 涓鍏冪嚎鎬у洖褰掓ā鍨嬬殑鎷熷悎浼樺害妫楠鐨刴atlab浠g爜
    绛旓細x=[ones(5,1),x]; %缁欏嚭涓や釜鏁扮粍鍏冪礌 [b,bint,r,rint,stats]=regress(y,x,0.05); 锛呭x鍜寉杩涜涓鍏冪嚎鎬у洖褰锛屽苟寰楀埌鐩稿叧绯绘暟锛屽叾涓紝stats涓涓涓暟鍗充负鐩稿叧绯绘暟锛屽ぇ浜0.9灏辫涓鎷熷悎寰堝ソ銆傜粨鏋滐細stats = 0.9829 171.9474 0.0010 0.0063 鍗充负0.9829....
  • 鎷熷悎浼樺害妫楠鐨勪笁绉嶆柟娉
    绛旓細R鏂瑰硷紙涔熺О涓哄喅瀹氱郴鏁帮級鏄彟涓绉嶅父鐢鐨勬嫙鍚堜紭搴︽楠鏂规硶銆俁鏂瑰艰〃绀烘ā鍨嬭В閲婄殑鍙樺紓涓庢诲彉寮傜殑姣斾緥銆傚畠鐨勫间粙浜0鍜1涔嬮棿锛屽艰秺鎺ヨ繎1锛岃鏄妯″瀷鐨勬嫙鍚堜紭搴瓒婇珮銆備緥濡傦紝鍦ㄤ竴涓猂鏂瑰间负0.8鐨绾挎у洖褰掓ā鍨涓紝杩欐剰鍛崇潃妯″瀷瑙i噴浜80%鐨勮娴嬪煎彉寮傦紝鑰屽墿涓嬬殑20%鐨勫彉寮傚垯鏄敱鍏朵粬鏈冭檻鐨勫洜绱犳垨闅忔満...
  • 涓鍏冪嚎鎬у洖褰棰勬祴娉曠殑妯″瀷妫楠
    绛旓細1銆佺粡娴庢剰涔夋楠岋細灏辨槸鏍规嵁妯″瀷涓悇涓弬鏁扮殑缁忔祹鍚箟锛屽垎鏋愬悇鍙傛暟鐨勫兼槸鍚︿笌鍒嗘瀽瀵硅薄鐨勭粡娴庡惈涔夌浉绗︺2銆鍥炲綊鏍囧噯宸楠3銆鎷熷悎浼樺害妫楠4銆佸洖褰掔郴鏁扮殑鏄捐憲鎬ф楠 鍙互鍒嗕负锛氱偣棰勬祴鍜岀疆淇″尯闂撮娴嬫硶1銆佺偣棰勬祴娉曪細灏嗚嚜鍙橀噺鍙栧煎甫鍏ュ洖褰掗娴嬫ā鍨嬫眰鍑哄洜鍙橀噺鐨勯娴嬪笺2銆佺疆淇″尯闂撮娴嬫硶锛氫及璁′竴涓寖鍥达紝骞...
  • 扩展阅读:模型拟合不好但是显著了 ... 拟合优度0.6算好吗 ... 回归出来拟合优度太低 ... 回归拟合度为什么很低 ... 回归模型拟合度怎么看 ... 卡方拟合优度 ... 过度拟合模型的后果 ... 端基一致拟合优缺点 ... 怎么判断拟合优度好不好 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网