数据挖掘工作总结:首先确定数据集,数据的读取多种方式:Matlab:读取时用load test.textTextread():D=textread('D:\2012aMATLAB\R2012a\bin\shuju.txt');[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4) 说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%n,%f等。
这里%s的个数和[a1,a2,a3,a4]对应.C 语言读取时:使用StreamReader和StreamWriter 文件头:using System; using System.Collections.Generic; using System.Text; using System.IO; StreamReader读取文件:StreamReader objReader = new StreamReader(文件路径); string sLine=""; ArrayList LineList = new ArrayList(); while (sLine != null) {sLine = objReader.ReadLine(); if (sLine != null&&!sLine.Equals("")) LineList.Add(sLine); } objReader.Close(); return LineList; StreamWriter写文件: FileStream fs = new FileStream(文件路径, FileMode.Create); StreamWriter sw = new StreamWriter(fs);通过数据集看用哪几种方法!将这些方法运用的环境是什么?检验变量之间的关系:用:回归分析、时间序列分析、方差分析、判别分析、联合分析、逻辑回归、结构方程模型、以及联列表和相和性分析用于发现数据之间可能关系的方法有:因子分析、聚类分析、多维排序、高维联列表和神经网络。
结构检验的方法:主要进行原因分析。
前提是知道其中的逻辑关系。
回归分析:描述一个因变量和另一个因变量或多个自变量之间的影响关系时间序列分析:描述和解释变量发展的趋势,对变量进行预测,估计未来某个时间段或时间点的值。
方差分析:如果自变量为名义测度,应变量是为基数测度可以使用方差分析。
研究一种产品的不同包装或产品的摆放位置对销量的影响。
判别分析:如果应变量为名义测度,并且自变量是为基数测度可以使用判别分析。
适用于信用评价逻辑回归:与判别分析非常相似的问题也可以用逻辑回归的方法进行研究。
如病人的心肌梗塞风险与他们的年龄以及胆固醇水平之间的关系。
联列表和相合性分析:例如检验吸烟(烟民和非烟民)与肺部疾病(是和否)之间统计的关系问题。
这个检验可以借助于联列表形式的数据进行。
联合分析:找出产品或其他对象的单个特征对对象总效用的贡献。
新产品设计为此方法的一个重要领域,例如不同的材料、形状、颜色或价格水平对效用评价的影响和贡献数值之间的关系非线性回归:估计任意模型结构。
在研究广告效应时,广告记忆与广告联系的数量相关,销量与广告支出的金额相关;对新产品增长率的研究也要用到非线性回归。
结构方程模型:检验多个因变量,多级因果关系和隐性变量之间的关系。
基于选择的联合分析:传统的联合分析可以利用哑变量得到估计值,而在基于选择的联合分析使用最大似然估计。
因子分析使变量压缩或捆绑,而聚类分析最求的对象捆绑。
其目的在于,将对象归于组(类)中,使一组中的对象尽可能相似,而组与组之间尽可能异常。
神经网络:主要用于对象的分类。
多维排序:主要用于定位分析。
在没有或大致了解哪些特征与主观评价对象(例如:产品品牌,企业和政治家)相关时,研究者尤其偏好于使用MDS多维排序一元线性回归function yyxxhgx=[];y=[];plot(x,y,'*')xlabel('职工工资总额')ylabel('商品零售总额')%计算最佳参数lxx=sum((x-mean(x)).^2);lxy=sum((x-mean(x)).*(y-mean(y)));b1=lxy/lxx;b0=mean(y)-b1*mean(x);%多项式拟合p=polyfit(x,y,n)[p,s]=ployfit(x,y,n)%多项式回归模型的预测及其置信区间y=ployval(p,x0);[Y,Delta]=polyconf(p,x0,s,alpha)拟合回归界面function nhhgjmx=[1,2,3,4,5,6,7,1,2,4,35,6];y=[2,3,4,6,2,4,3,9,6,8,43,1];polytool(x,y,3,0.05)非线性回归:function fxxhg%非线性拟合命令[beta,r,J]=nlinfit(x,y,'model',beta0);%利用inline定义范数model,方法如下:fun=inline('f(x)','参变量','x')%非线性回归预测命令为nlpredic,其调用格式为:ypred=nlpredci(FUN,inputs,beta,r,J);一元回归:首先:(1)作散点图。
根据散点图拟合出相对应函数的曲线。
(2)建立直线回归方程。
估计出回归函数后,应该先检验决定系数的显著水平。
若未达到显著的检验结果,则必须否定整个回归方程。
接着,应该分别检验各回归系数,在逻辑上检验符号,在统计上检验显著水平。
直到检验求得的回归方程是否遵守线性回归模型的前提。
可能要从方程中剔除变量或选入新的变量。
直到满足前提。
(3)误差估计与可决系数。
(主要运用最小二乘的思想,找出真实值与估计值差值的平方,估计出系数。
)(4)回归方程关系显著性的F检验。
(5)回归关系显著的T检验。
(6)预测。
例如:X=[];Y=[];Plot(x,y,’*’)Xlabel(‘x()’);Ylabel(‘y()’);(2)N=size(x,1);[p,s]=polyfit(x,y,1);Y1=polyval(p,x);Hold onplot(x,y1);(3)TSS=sum((y-mean(y)).^2)RSS=sum((y1-mean(y)).^2)ESS=sum((y-y1).^2)R2=RSS/TSS;(4)F=(n-2)*RSS/ESSF1=finv(0.95,1,n-2)F2=finv(0.99,1,n-2)(5)T=p(2)/sqrt(ESS/(n-2))*sqrt(sum((x-mean(x)).^2)) T1=tinv(0.975,n-2);T2=tinv(0.995,n-2);(6)X1=[]; %测试数据Yc=polyval(p,x1)[y,delta]=polyconf(p,x1,s);I1=[y-delta,y+delta];%在程序中加入:Polytool(x,y)Bar(x,y-y1);Legend(‘残差’)H=lillietest(y-y1)%残差正态性检验例如:销量价格拜访次数支出2585.00 12.50 109.0 2000.001819.00 10.00 107.0 550.001647.00 9.95 99.0 100.001496.00 11.50 70.0 800.00921.00 12.00 81.0 1182.322278.00 10.00 102.0 1500.001810.00 8.00 110.0 800.001967.00 9.00 92.0 1200.001612.00 9.50 87.0 1100.001913.00 12.50 79.0 1300.002118.00 8.50 91.8 1550.001438.00 12.00 91.6 550.001834.00 9.50 91.4 1980.001869.00 9.00 91.3 1600.001574.00 7.00 91.1 500.002597.00 11.00 90.9 2000.002026.00 10.00 90.8 1680.002016.00 9.50 90.6 1700.001566.00 10.00 65.0 1400.002169.00 13.00 90.0 1800.001996.00 11.00 76.0 1600.002501.00 8.00 89.0 2000.002604.00 8.50 108.0 1800.00通过分析再到回归,再到线性,确定因变量,自变量的销售波动由这三个自变量解释,这对于此类市场研究而说明了F检验,在回归regression这行,先给出由回归模型解释的标准差(平方和),旁边是自由度和已解释的方差,F=23.864将此值与F分布表的值查出,算的实际F 与理论F比较大于,因而是高度显著,拒绝原假设。
在实际spss中上述犯错概率即实际F值的显著水平,在显著这列给出。
这里,改值为0.00,因而不存在是否接受的问题。
Coefficients aSpss程序中,在讲各自变量写入回归方程前,都要先检查其容许度。
若容许度低于0.0001的临界值,则自变量不能记入方程。
该临界值可有用户更改,不过,它不能预防共线性,只能保证回归分析的计算可行性。
得到结果销量=718.247-43.837*价格+0.483*支出+10.922*拜访次数多元回归基本步骤:(1)对问题进行直观分析,选择因变量与解释变量,做出因变量与各解释变量的散点图,决定设定多元线性回归模型的参数个数。
(2)输入因变量与自变量的观测数据(y,x),调用命令为:[b,bint,r,rint,s]=regress(y,x,alpha)计算参数的估计。
(3)调用命令rcoplot(r,rint),分析数据的异常点情况。
(4)作显著性检验,若通过,则对模型作预测。
(5)对模型进一步研究,如残差的正态性检验,残差的异方差检验,残差的自相关性检验等。
多元回归建模命令多元回归建模命令为regeress,其调用格式有一下三种:b=regress(y,x),[b,bint,r,rint,stats]=regress(y,x)[b,bint,r,rint,stats]=regress(y,x,alpha)第三种方式称为全参数方式。
其中输入参数:输入量Y表示模型中因变量的观测值(y1,y2,y3,…yn)的转置;x是一个nx(p+1)的矩阵,其中第一列元全部是数1,其余为x的向量,对于一元线性回归,取p=1即可,alpha为显著水品(默认值为0.05)输出参数:输出向量b为回归系数估计值,bint为回归系数的(1-alpha)置信区间;输出向量r 表示残差列向量,输出量rint为模型的残差的(1-alpha)的置信区间;输出量stats是用于检验回归模型的统计量,有4个分量值:第一个是R平方,其中R是相关系数;第二个是F统计量值;第三个是与统计量F对应的概率P,当P<alpha时拒绝H,即认为线性回归模型有意义;第四个是方差sigemad的无偏估计。