回归方程数据处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
回归方程数据处理
实验
姓名: 沟超辉
学号:101001106
一、实验目的
回归分析是数理统计中的一个重要分支,在工农业生产和科学研究中有着广泛的应用。通过本次实验要求掌握一元线性回归和一元非线性回归。
二、实验原理
回归分析是处理变量之间相关关系的一种数理统计方法。即用数学的方法,对大量的观测数据进行处理,从而得出比较符合事物内部规律的数学表达式。利用最小二乘估计,得到一元线性回归的回归方程为^
y =b0+bx
式中b0,b为回归方程的回归系数,y代表抗剪强度。
求出∑x i,∑y i,∑x i2,∑y i2,∑x i y i,∑xi∑yi
于是x=1/n∑x i, y=1/n∑y i
l xx =∑x i2 – (∑x i)2 /n
l xy =∑x i y i –(∑xi∑yi)/n
b= l xy / l xx
b0=y-bx
三、实验内容及程序结果(一)
23.9 24.7 28.1 26.9 27.4 22.6 25.6 25.9 26.3 22.5 21.7 21.4 25.8 24.9
假设正应力是精确的,求抗剪强度与正应力的线性回归方程当正应力为24.5pa时,抗剪强度的估计值?
程序及运行结果:
for i=0
X=[26.8 25.4 23.6 27.7 23.9 24.7 28.1 26.9 27.4 22.6 25.6];
Y=[26.5 27.3 27.1 23.6 25.9 26.3 22.5 21.7 21.4 25.8 24.9];
N=length(X);
lxx=sum(X.*X)-sum(X).^2./N;
lxy=sum(X.*Y)-sum(X).*sum(Y)/N;
b=lxy./lxx;
b0=mean(Y)-b.*mean(X);
x=(21:0.01:31);
y=b.*x+b0;
plot(X,Y,'b*',x,y,'r-')
end
实验结果:
lxx= 43.0467
lxy= -29.5333
b= -0.6861
b0=42.5818
材料的抗剪强度与材料承受的正应力关系为:
y=42.5818-0.6861x
实验内容及程序结果(二)
(2)下表给出在不同质量下弹簧长度的观测值(设质量的观测值无误差):
做散点图,观察质量与长度之间是否呈线性关系;求弹簧的刚性系数和自由状态下的长度。
程序及运行结果:
for i=0
X=[5 10 15 20 25 30];
Y=[7.25 8.12 8.95 9.90 10.9 11.8];
N=length(X);
lxy=sum(X.*Y)-sum(X).*sum(Y)./N;
lxx=sum(X.*X)-((sum(X)).^2)./N;
b=lxy./lxx;
b0=mean(Y)-b.*mean(X);
x=(5:0.01:30);
y=b.*x+b0;
plot(X,Y,'b*',x,y,'r-')
end
以刚性系数k=b=0.1831,自由长度x0=b0=6.2827
四、实验小结
一元回归是处理两个变量之间的关系,即两个变量x和y之间若存在一定的关系,则可通过实验的方法,分析所得数据,找出两者之间关系的经验公式。假如两个变量之间的关系是线性的就称为一元线性回归,这就是工程上和科研中场遇到的直线拟合问题。
Java实现k-means
1.数据来源描述
本数据集中一共包含600组数据,每一组数据都有60个分量,也就是数据是60维的。数据一共可以分成6个聚类,分别是:1-100 Normal (正常)
101-200 Cyclic (循环)
201-300 Increasing trend (增加趋势)
301-400 Decreasing trend (减少趋势)
401-500 Upward shift (上升变化)
501-600 Downward shift (下降变化)
2.数据预处理
由于本数据集的数据维数较多,所以本实验采用了结构体来存储60维的数据,并使用指针来进行对数据的操作,以提高速度。在数据预处理过程中,首先将数据从data文件中读出,后依次存入结构体数组dataset[600]中。
3.k-means聚类算法
k-means 算法接受参数 k ;然后将事先输入的n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。
K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k 个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。(1)算法思路:
首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。
该算法的最大优势在于简洁和快速。算法的关键在于初始中心的选择和距离公式。
(2)算法步骤:
step.1---初始化距离K个聚类的质心(随机产生)
step.2---计算所有数据样本与每个质心的欧氏距离,将数据样本加入与其欧氏距离最短的那个质心的簇中(记录其数据样本的编号)
step.3---计算现在每个簇的质心,进行更新,判断新质心是否与原质心相等,若相等,则迭代结束,若不相等,回到step2继续迭代。
4.数据挖掘实现的源代码
//111060850.cpp KMeans聚类算法
//
#include "stdafx.h"
#include
#include
#include
#include