网站开发与运营案例教程,做网站需要服务器还是主机,为什么用开源建站,可以做网站的语言信用评价是各种店铺卖家分析买家信用行为的重要内容, 本文给出随机仿真代码模拟实际交易过程的信用评价. 主要研究内容有:
(1)研究最大交易额和信用度的关系
(2)研究买家不评价率对信用度影响
(3)研究交易次数对信用度影响
MATLAB程序如下:
主程序main.m
%% clc;close a…信用评价是各种店铺卖家分析买家信用行为的重要内容, 本文给出随机仿真代码模拟实际交易过程的信用评价. 主要研究内容有:
(1)研究最大交易额和信用度的关系
(2)研究买家不评价率对信用度影响
(3)研究交易次数对信用度影响
MATLAB程序如下:
主程序main.m
%% clc;close all;clear all; sita0.20; %差距容忍度 beta0.85; %衰减因子 %% 产生交易信息 k200;%k买家人数 timeMin1;%[timeMin,timeMax]交易时间范围 timeMax100;%[timeMin,timeMax]交易时间范围 TnumberMin1;%[TnumberMin,TnumberMax]交易次数范围 TnumberMax80;%[TnumberMin,TnumberMax]交易次数范围 moneyMin20;%[moneyMin,moneyMax]交易金额范围 moneyMax1000;%[moneyMin,moneyMax]交易金额范围 SEvaluategoodMin0.9;%[SEvaluateMin,SEvaluateMax]对卖家的好评率范围[0.7,0.9],0-0.7为好评0.7-0.9为中0.9-1为差 SEvaluategoodMax0.96;%[SEvaluateMin,SEvaluateMax]对卖家的好评率范围[0.7,0.9],0-0.7为好评0.7-0.9为中0.9-1为差 SEvaluatemidMin0.98; SEvaluatemidMax0.999; noEvaluateRate0.2;%noEvaluateRate买家不评价的概率 BEvaluateMin0.9;%[BEvaluateMin,BMax]买家自身的好评率范围 BEvaluateMax0.99;%[BEvaluateMin,BMax]买家自身的好评率范围 [TransData,N,LP]TransInf(k,timeMin,timeMax,TnumberMin,TnumberMax,moneyMin,moneyMax,SEvaluategoodMin,SEvaluategoodMax,... SEvaluatemidMin,SEvaluatemidMax,noEvaluateRate,BEvaluateMin,BEvaluateMax);%jisuan % N总交易次数 %k买家人数 %[timeMin,timeMax]交易时间范围 %[TnumberMin,TnumberMax]交易次数范围 %[moneyMin,moneyMax]交易金额范围 %[SEvaluateMin,SEvaluateMax]对卖家的好评率范围[0.7,0.9],0-0.7为好评0.7-0.9为中0.9-1为差,SEvaluategoodMin,SEvaluategoodMax,SEvaluatemidMin,SEvaluatemidMax %noEvaluateRate买家不评价的概率 %[BEvaluateMin,BMax]买家自身的好评率范围
%TransData(i).Bi第i个买家 %TransData(i).S卖家,不要了 %TransData(i).T第i次交易的时间 %TransData(i).M第i次交易的金额 %TransData(i).R第i次交易的评价值好评则为1中评则为0差评则为一1 %TransData(i).rou买家自身的好评率 %LP评价率
%% Pizeros(k,1); for i1:k TTransData(i).T; MTransData(i).M; RTransData(i).R; ysl(T).*M; Pi(i,1)sum(R.*ysl/sum(ysl)); end
Pmeanmean(Pi);
P0; for i1:k rouTransData(i).rou; s01abs(Pi(i,1)-Pmean); if s01sita fy01(1-s01)*rou; else fy01(1-s01)*rou*beta; end PPPi(i,1)*fy01; end disp(差距容忍度) sita disp(衰减因子) beta disp(总交易次数) N disp(评价率) LP disp(卖家的信用度) P disp(考虑评价率的卖家的信用度) QP*LP 关键函数 交易信息函数TransInf.m
function [TransData,N,LP]TransInf(k,timeMin,timeMax,TnumberMin,TnumberMax,moneyMin,moneyMax,SEvaluategoodMin,SEvaluategoodMax,... SEvaluatemidMin,SEvaluatemidMax,noEvaluateRate,BEvaluateMin,BEvaluateMax) %% 产生交易信息函数
%k买家人数 %[timeMin,timeMax]交易时间范围 %[TnumberMin,TnumberMax]交易次数范围 %[moneyMin,moneyMax]交易金额范围 %[SEvaluateMin,SEvaluateMax]对卖家的好评率范围[0.7,0.9],0-0.7为好评0.7-0.9为中0.9-1为差,SEvaluategoodMin,SEvaluategoodMax,SEvaluatemidMin,SEvaluatemidMax %noEvaluateRate买家不评价的概率 %[BEvaluateMin,BMax]买家自身的好评率范围
%% TransData结构体的结果定义 %TransData(i).Bi第i个买家 %TransData(i).S卖家,不要了 %TransData(i).T第i次交易的时间 %TransData(i).M第i次交易的金额 %TransData(i).R第i次交易的评价值好评则为1中评则为0差评则为一1 %TransData(i).rou买家i自身的好评率 % N总交易次数 %LP评价率
T01timeMin:timeMax; L01length(T01); if L01TnumberMax% error(请输入正确的参数交易时间范围设置过小); end
noEnumber0;% Enumber0;% for i1:k%按买家循环 %% --记录数据开始------------- TransData(i).Bi; TransData(i).S1; % 产生交易时间 index01randperm(L01); state0; iter0; while state0 Tnumberrandi([TnumberMin TnumberMax],1,1);%产生交易次数 if L01Tnumber time01 index01(1:Tnumber); timesort(time01); break; else state0; iteriter1; end if iter10 error(请输入正确的参数交易时间范围设置过小); end end TransData(i).Ttime; % 产生金额 moneyrandi([moneyMin moneyMax],1,Tnumber);%产生交易金额默认为整数 TransData(i).Mmoney;%第i次交易的金额 %% 好评率计算 for j1:Tnumber rnoErand; if rnoEnoEvaluateRate % 产生好评率 rgood SEvaluategoodMin (SEvaluategoodMax-SEvaluategoodMin).*rand(1,1);%介于SEvaluategoodMax和SEvaluategoodMin之间 % 产生中评率 rmidle SEvaluatemidMin (SEvaluatemidMax-SEvaluatemidMin).*rand(1,1);%介于SEvaluatemidMi,nSEvaluatemidMax之间 if rgoodrmidle error(对卖家的好评率范围SEvaluategoodMin和SEvaluategoodMax设置过大或者SEvaluatemidMin和SEvaluatemidMax过小请重新设置); end r001rand;% if (r0010)(r001rgood); R011; end if (r001rgood)(r001rmidle); R010; end if (r001rmidle)(r0011); R01-1; end EnumberEnumber1;%记录评价的交易 else R010; noEnumbernoEnumber1;%记录不评价的交易 end if j1%第一个交易直接赋值 TransData(i).RR01; else%其他交易放到后面 TransData(i).R[TransData(i).R, R01]; end end TransData(i).rouBEvaluateMin (BEvaluateMax-BEvaluateMin).*rand(1,1);% %% --记录数据结束------------- end NnoEnumberEnumber; LPEnumber/N; main2.m 是研究最大交易额和信用度的关系
%% 研究最大交易额和信用度的关系 clc;close all;clear all; sita0.20; %差距容忍度 beta0.85; %衰减因子 %% 产生交易信息 K100:100:1000; Glength(K); Pcellzeros(G,1); Qcellzeros(G,1); for g1:G k200;%k买家人数 timeMin1;%[timeMin,timeMax]交易时间范围 timeMax100;%[timeMin,timeMax]交易时间范围 TnumberMin1;%[TnumberMin,TnumberMax]交易次数范围 TnumberMax80;%[TnumberMin,TnumberMax]交易次数范围 moneyMin20;%[moneyMin,moneyMax]交易金额范围 moneyMaxK(g);%[moneyMin,moneyMax]交易金额范围 SEvaluategoodMin0.9;%[SEvaluateMin,SEvaluateMax]对卖家的好评率范围[0.7,0.9],0-0.7为好评0.7-0.9为中0.9-1为差 SEvaluategoodMax0.96;%[SEvaluateMin,SEvaluateMax]对卖家的好评率范围[0.7,0.9],0-0.7为好评0.7-0.9为中0.9-1为差 SEvaluatemidMin0.98; SEvaluatemidMax0.999; noEvaluateRate0.2;%noEvaluateRate买家不评价的概率 BEvaluateMin0.9;%[BEvaluateMin,BMax]买家自身的好评率范围 BEvaluateMax0.99;%[BEvaluateMin,BMax]买家自身的好评率范围 [TransData,N,LP]TransInf(k,timeMin,timeMax,TnumberMin,TnumberMax,moneyMin,moneyMax,SEvaluategoodMin,SEvaluategoodMax,... SEvaluatemidMin,SEvaluatemidMax,noEvaluateRate,BEvaluateMin,BEvaluateMax);%jisuan % N总交易次数 %k买家人数 %[timeMin,timeMax]交易时间范围 %[TnumberMin,TnumberMax]交易次数范围 %[moneyMin,moneyMax]交易金额范围 %[SEvaluateMin,SEvaluateMax]对卖家的好评率范围[0.7,0.9],0-0.7为好评0.7-0.9为中0.9-1为差,SEvaluategoodMin,SEvaluategoodMax,SEvaluatemidMin,SEvaluatemidMax %noEvaluateRate买家不评价的概率 %[BEvaluateMin,BMax]买家自身的好评率范围 %TransData(i).Bi第i个买家 %TransData(i).S卖家,不要了 %TransData(i).T第i次交易的时间 %TransData(i).M第i次交易的金额 %TransData(i).R第i次交易的评价值好评则为1中评则为0差评则为一1 %TransData(i).rou买家自身的好评率 %LP评价率 %% Pizeros(k,1); for i1:k TTransData(i).T; MTransData(i).M; RTransData(i).R; ysl(T).*M; Pi(i,1)sum(R.*ysl/sum(ysl)); end Pmeanmean(Pi); P0; for i1:k rouTransData(i).rou; s01abs(Pi(i,1)-Pmean); if s01sita fy01(1-s01)*rou; else fy01(1-s01)*rou*beta; end PPPi(i,1)*fy01; end QP*LP; Pcell(g,1)P; Qcell(g,1)Q; end figure; plot(K,Pcell,b-,K,Qcell,r--); legend(信用度,考虑评价率的信用度); xlabel(交易金额上限); ylabel(信用度); title(信用度和交易金额上限关系曲线); disp(差距容忍度) sita disp(衰减因子) beta disp(总交易次数) N disp(评价率) LP disp(卖家的信用度) P disp(考虑评价率的卖家的信用度) Q main3.m 研究买家不评价率对信用度影响
%% 研究买家不评价率对信用度影响 clc;close all;clear all; sita0.20; %差距容忍度 beta0.85; %衰减因子 %% 产生交易信息 K0.1:0.01:0.3; Glength(K); Pcellzeros(G,1); Qcellzeros(G,1); for g1:G k200;%k买家人数 timeMin1;%[timeMin,timeMax]交易时间范围 timeMax100;%[timeMin,timeMax]交易时间范围 TnumberMin1;%[TnumberMin,TnumberMax]交易次数范围 TnumberMax80;%[TnumberMin,TnumberMax]交易次数范围 moneyMin20;%[moneyMin,moneyMax]交易金额范围 moneyMax1000;%[moneyMin,moneyMax]交易金额范围 SEvaluategoodMin0.9;%[SEvaluateMin,SEvaluateMax]对卖家的好评率范围[0.7,0.9],0-0.7为好评0.7-0.9为中0.9-1为差 SEvaluategoodMax0.96;%[SEvaluateMin,SEvaluateMax]对卖家的好评率范围[0.7,0.9],0-0.7为好评0.7-0.9为中0.9-1为差 SEvaluatemidMin0.98; SEvaluatemidMax0.999; noEvaluateRateK(g);%noEvaluateRate买家不评价的概率 BEvaluateMin0.9;%[BEvaluateMin,BMax]买家自身的好评率范围 BEvaluateMax0.99;%[BEvaluateMin,BMax]买家自身的好评率范围 [TransData,N,LP]TransInf(k,timeMin,timeMax,TnumberMin,TnumberMax,moneyMin,moneyMax,SEvaluategoodMin,SEvaluategoodMax,... SEvaluatemidMin,SEvaluatemidMax,noEvaluateRate,BEvaluateMin,BEvaluateMax);%jisuan % N总交易次数 %k买家人数 %[timeMin,timeMax]交易时间范围 %[TnumberMin,TnumberMax]交易次数范围 %[moneyMin,moneyMax]交易金额范围 %[SEvaluateMin,SEvaluateMax]对卖家的好评率范围[0.7,0.9],0-0.7为好评0.7-0.9为中0.9-1为差,SEvaluategoodMin,SEvaluategoodMax,SEvaluatemidMin,SEvaluatemidMax %noEvaluateRate买家不评价的概率 %[BEvaluateMin,BMax]买家自身的好评率范围 %TransData(i).Bi第i个买家 %TransData(i).S卖家,不要了 %TransData(i).T第i次交易的时间 %TransData(i).M第i次交易的金额 %TransData(i).R第i次交易的评价值好评则为1中评则为0差评则为一1 %TransData(i).rou买家自身的好评率 %LP评价率 %% Pizeros(k,1); for i1:k TTransData(i).T; MTransData(i).M; RTransData(i).R; ysl(T).*M; Pi(i,1)sum(R.*ysl/sum(ysl)); end Pmeanmean(Pi); P0; for i1:k rouTransData(i).rou; s01abs(Pi(i,1)-Pmean); if s01sita fy01(1-s01)*rou; else fy01(1-s01)*rou*beta; end PPPi(i,1)*fy01; end QP*LP; Pcell(g,1)P; Qcell(g,1)Q; end figure; plot(K,Pcell,b-,K,Qcell,r--); legend(信用度,考虑评价率的信用度); xlabel(买家不评价率); ylabel(信用度); title(信用度和买家不评价率关系曲线); disp(差距容忍度) sita disp(衰减因子) beta disp(总交易次数) N disp(评价率) LP disp(卖家的信用度) P disp(考虑评价率的卖家的信用度) Q main4.m 研究交易次数对信用度影响
%% 研究交易次数对信用度影响 clc;close all;clear all; sita0.20; %差距容忍度 beta0.85; %衰减因子 %% 产生交易信息 K10:5:80; Glength(K); Pcellzeros(G,1); Qcellzeros(G,1); for g1:G k200;%k买家人数 timeMin1;%[timeMin,timeMax]交易时间范围 timeMax100;%[timeMin,timeMax]交易时间范围 TnumberMin1;%[TnumberMin,TnumberMax]交易次数范围 TnumberMaxK(g);%[TnumberMin,TnumberMax]交易次数范围 moneyMin20;%[moneyMin,moneyMax]交易金额范围 moneyMax1000;%[moneyMin,moneyMax]交易金额范围 SEvaluategoodMin0.9;%[SEvaluateMin,SEvaluateMax]对卖家的好评率范围[0.7,0.9],0-0.7为好评0.7-0.9为中0.9-1为差 SEvaluategoodMax0.96;%[SEvaluateMin,SEvaluateMax]对卖家的好评率范围[0.7,0.9],0-0.7为好评0.7-0.9为中0.9-1为差 SEvaluatemidMin0.98; SEvaluatemidMax0.999; noEvaluateRate0.2;%noEvaluateRate买家不评价的概率 BEvaluateMin0.9;%[BEvaluateMin,BMax]买家自身的好评率范围 BEvaluateMax0.99;%[BEvaluateMin,BMax]买家自身的好评率范围 [TransData,N,LP]TransInf(k,timeMin,timeMax,TnumberMin,TnumberMax,moneyMin,moneyMax,SEvaluategoodMin,SEvaluategoodMax,... SEvaluatemidMin,SEvaluatemidMax,noEvaluateRate,BEvaluateMin,BEvaluateMax);%jisuan % N总交易次数 %k买家人数 %[timeMin,timeMax]交易时间范围 %[TnumberMin,TnumberMax]交易次数范围 %[moneyMin,moneyMax]交易金额范围 %[SEvaluateMin,SEvaluateMax]对卖家的好评率范围[0.7,0.9],0-0.7为好评0.7-0.9为中0.9-1为差,SEvaluategoodMin,SEvaluategoodMax,SEvaluatemidMin,SEvaluatemidMax %noEvaluateRate买家不评价的概率 %[BEvaluateMin,BMax]买家自身的好评率范围 %TransData(i).Bi第i个买家 %TransData(i).S卖家,不要了 %TransData(i).T第i次交易的时间 %TransData(i).M第i次交易的金额 %TransData(i).R第i次交易的评价值好评则为1中评则为0差评则为一1 %TransData(i).rou买家自身的好评率 %LP评价率 %% Pizeros(k,1); for i1:k TTransData(i).T; MTransData(i).M; RTransData(i).R; ysl(T).*M; Pi(i,1)sum(R.*ysl/sum(ysl)); end Pmeanmean(Pi); P0; for i1:k rouTransData(i).rou; s01abs(Pi(i,1)-Pmean); if s01sita fy01(1-s01)*rou; else fy01(1-s01)*rou*beta; end PPPi(i,1)*fy01; end QP*LP; Pcell(g,1)P; Qcell(g,1)Q; end figure; plot(K,Pcell,b-,K,Qcell,r--); legend(信用度,考虑评价率的信用度); xlabel(交易次数); ylabel(信用度); title(信用度和交易次数关系曲线); disp(差距容忍度) sita disp(衰减因子) beta disp(总交易次数) N disp(评价率) LP disp(卖家的信用度) P disp(考虑评价率的卖家的信用度) Q
程序结果:
差距容忍度
sita 0.2000
衰减因子
beta 0.8500
总交易次数
N 7677
评价率
LP 0.8032
卖家的信用度
P 126.8858
考虑评价率的卖家的信用度
Q 101.9120 需要讨论的可以加Q1579325979讨论