高等测量平差实验报告实验一 回归模型.doc_第1页
高等测量平差实验报告实验一 回归模型.doc_第2页
高等测量平差实验报告实验一 回归模型.doc_第3页
高等测量平差实验报告实验一 回归模型.doc_第4页
高等测量平差实验报告实验一 回归模型.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

回 归 模 型班级:测绘1011 学号:1020115110 姓名:缪海进 日期:2012/10/14一、 实验分析1、实验目的(1)、了解回归分析的原理和方法(2)、掌握回归模型参数估计与假设检验的过程(3)、验证书中回归模型示例2、实验要求(1)、独立完成示例的验证(2)、能够在EXCEL中完成参数的推导和假设假设验证(3)、有能力的同学可以编写程序实现回归模型的参数估计和假设检验(语言不限)(4)、书写实验报告3、实验过程剖析例题3-1,3-2,要求一元回归方程并进行精度评定,利用模型yi=0+1xi+i,其矩阵形式为Y=X+,V= X-Y,利用最小二乘原理,=(XTX)-1XTY,在excel中利用转置函数TRANSPOSE,求逆函数MINVERSE以及数组相乘函数MMULT求出,此时一元线性回归方程便求出来了,下面精度评定利用2=VTV/(n-2)求出2为计算20和21要计算出Sxx,Sxx为x的标准差,20=2(1/n+x2/Sxx),21=2(1/Sxx)。例题3-3用相关系数检验该直线回归方程的显著性,提出原假设H0:=0,H1:0,计算统计量=Sxy/(SxxSyy) 利用excel进行验算。例题3-4该实验是应用方差分析法和t检验法检验回归效果的显著性。方差分析法:根据相应的公式计算回归平方和S回、残差平方S残和以及F统计量,在一定的显著水平和自由度下查得相应的F值,从而对原假设或备选假设作出判断。t检验:计算统计量t,在一定的显著水平和自由度下查得相应的t值,从而对回归效果显著性作出判断。例3-5:该实验的目的是确定回归方程。其解题步骤为:(1)、求回归方程;(2)、计算方差的估值2 及i 的方差;(3)回归方程的显著性检验(F检验);(4)、回归参数的显著性检验(t检验)。例3-6求回归方程:列法方程然后解法方程,最后得到回归方程。求方差的估值2 =VT V/(n-2);t检验法检验回归方程的显著性;温度在15 时的预报值,以及在一定的置信度下预报值的区间估计。例3-7:该实验为自回归模型阶数的确定,(1)、确定模型阶数p:从p=1开始计算直到统计量F满足小于在一定的显著水平下的F值即接受原假设为止。(2)、模型参数估计:根据求得的阶数计算参数的估值从而可以得到自回归模型。 例3-8:该实验是根据例3-7中计算得出的自回归模型预报第37次和第38次的高程值。例3-9:该实验为二阶多项式拟合模型:先根据相应的公式列出误差方程和法方程,然后解法方程,从而得到拟合方程。再计算方差的估值,对精度进行评定。二、实验步骤例3-1,3-2例3-3例3-4例3-5(1)求回归方程,XT未能全截出来(2)计算方差的估值2 及i 的方差,VT未能全截出来(3)F检验,y平均未能全截出来(4)t检验例3-6(1)求回归方程(2)求方差估值,VT未能全截出来(3)t检验(4)尺长改正数及预测区间例3-7(1)确定阶数,均为不完整截图(2)模型参数估计例3-8、在3-7的基础上完成例3-9只截取了结果部分,其它未截取完整例3-2的VBA编程三、实验的结论分析3-1、3-2用excel验算下来的结果与书上一致。3-3由于取位与书上不同比书上多了一位,结果其实是一致的。3-4中计算S回结果与书上有点差别可以肯定的是书上出错了,由于S回不同所以F也就不同了。3-5除了第(2)小题中的D(2)与书上差别大了一点外其他均是位数不同。而D(2)会出现差别也是由于前面的取位不同而导致的。3-6的第(1)题书上出错。3-7基本和书上一致。3-8位数多了点。3-9的20与书上不同。四、实验心得体会在用excel进行第三章、回归模型的参数估计与假设检验中的9道例题的验算的过程中我发现只要知道解题步骤然后利用excel中的函数进行计算,解决这些问题是很简单,很方便的,而如果利用VBA进行编程,尽管写程序时有点麻烦,但程序写出来以后就可以解决很多类似的问题了。每道例题的结果与书上的基本差不多,有差别也是因为小数取的位数不同而导致的,小数取位有时真的很重要,有时就是因为取位的不同就可能带来很大的误差。五、源程序Private Sub CommandButton1_Click()设置第一行的标题格式 Dim TitleRow As Excel.Range Dim ws As Excel.Worksheet Dim strTitle As String Set ws = ThisWorkbook.Sheets(1) Set TitleRow = ws.Range(ws.Cells(1, 9), ws.Cells(3, 16) strTitle = 例3-2 一元线性回归方程EXCEL VBA演示 With TitleRow .Merge .ColumnWidth = 11 设置列宽,12个字符宽 .Cells(1, 1) = strTitle .Font.Name = 黑体 .Font.Size = 20 .Font.Bold = True .HorizontalAlignment = xlVAlignCenter .VerticalAlignment = xlVAlignCenter .Borders.LineStyle = xlContinuous .Borders.Weight = xlThick End With + 计算过程 1、求线性回归方程 2、评定参数估值的精度 -第一步 求一元线性回归方程- 1、求一元线性回归方程步骤 a、求出x、y的平均值,Sxx和Sxy b、得到系数 c、写出回归方程 步骤提示信息 Set TitleRow = ws.Range(ws.Cells(4, 9), ws.Cells(5, 16) strTitle = 1、求一元线性回归方程 With TitleRow .Merge .ColumnWidth = 11 设置列宽,11个字符宽 .Cells(1, 1) = strTitle .Font.Name = 楷体_GB2312 .Font.Size = 14 .Font.Bold = True .HorizontalAlignment = xlVAlignCenter .VerticalAlignment = xlVAlignCenter .Borders.LineStyle = xlContinuous .Borders.Weight = xlThick End With 分步骤a、求出x、y的平均值及Sxx和Sxy 设置提示信息 Set TitleRow = ws.Range(ws.Cells(6, 9), ws.Cells(7, 16) strTitle = a、求出x、y的平均值及Sxx和Sxy With TitleRow .Merge .ColumnWidth = 11 设置列宽,11个字符宽 .Cells(1, 1) = strTitle .Font.Name = 宋体 .Font.Size = 12 .Font.Bold = True .HorizontalAlignment = xlVAlignCenter .VerticalAlignment = xlVAlignCenter .Borders.LineStyle = xlContinuous .Borders.Weight = xlThick End With Dim xRange As Excel.Range x Dim yRange As Excel.Range y Dim xxRange As Excel.Range x的平均值阵 Dim yyRange As Excel.Range y的平均值阵 Dim SxxRange As Excel.Range x的标准差 Dim SxyRange As Excel.Range x,y的协方差 Dim B0Range As Excel.Range 0 Dim B1Range As Excel.Range 1 Dim I As Excel.Range Dim xxx As Excel.Range x与均值差 Dim yyy As Excel.Range y与均值差 Dim xx As Excel.Range x均值 Dim yy As Excel.Range y均值 Dim n As Integer Set I = ws.Range(ws.Cells(2, 1), ws.Cells(13, 1) Set xRange = ws.Range(ws.Cells(2, 2), ws.Cells(13, 2) Set yRange = ws.Range(ws.Cells(2, 3), ws.Cells(13, 3) Set TitleRow = ws.Range(ws.Cells(8, 9), ws.Cells(10, 16) strTitle = =Sxy/Sxx With TitleRow .Merge .ColumnWidth = 11 设置列宽,11个字符宽 .Cells(1, 1) = strTitle .Font.Name = 宋体 .Font.Size = 12 .Font.Bold = True .HorizontalAlignment = xlVAlignCenter .VerticalAlignment = xlVAlignCenter .Borders.LineStyle = xlContinuous .Borders.Weight = xlThick End With 求x,y均值 Set xxRange = ws.Range(ws.Cells(2, 4), ws.Cells(13, 4) Set yyRange = ws.Range(ws.Cells(2, 5), ws.Cells(13, 5) xxRange.NumberFormat = 0.0000 yyRange.NumberFormat = 0.0000 xxRange = Application.WorksheetFunction.SumProduct(I, xRange) / 12 yyRange = Application.WorksheetFunction.SumProduct(I, yRange) / 12 求x,y的均值差 Set xxx = ws.Range(ws.Cells(16, 1), ws.Cells(27, 1) Set yyy = ws.Range(ws.Cells(16, 2), ws.Cells(27, 2) xxx.NumberFormat = 0.0000 yyy.NumberFormat = 0.0000 For n = 1 To 12 xxx.Cells(n, 1).Value = xRange.Cells(n, 1).Value - xxRange.Cells(n, 1).Value yyy.Cells(n, 1).Value = yRange.Cells(n, 1).Value - yyRange.Cells(n, 1).Value Next求标准差与协方差 Set SxxRange = ws.Cells(11, 9) Set SxyRange = ws.Cells(12, 9) SxxRange.NumberFormat = 0.0000 SxyRange.NumberFormat = 0.0000 SxxRange = Application.WorksheetFunction.SumXMY2(xRange, xxRange) SxyRange = Application.WorksheetFunction.SumProduct(xxx, yyy) 求0与1 Set B0Range = ws.Cells(11, 12) Set B1Range = ws.Cells(12, 12) B0Range.NumberFormat = 0.0000 B1Range.NumberFormat = 0.0000 Set xx = ws.Cells(2, 4) Set yy = ws.Cells(2, 5) B1Range = SxyRange / SxxRange B0Range = yy - xx * B1Range Set TitleRow = ws.Range(ws.Cells(13, 9), ws.Cells(14, 16) strTitle = Y= B0+B1*X With TitleRow .Merge .ColumnWidth = 11 设置列宽,11个字符宽 .Cells(1, 1) = strTitle .Font.Name = 宋体 .Font.Size = 12 .Font.Bold = True .HorizontalAlignment = xlVAlignCenter .VerticalAlignment = xlVAlignCenter .Borders.LineStyle = xlContinuous .Borders.Weight = xlThick End With 输出回归方程 Set TitleRow = ws.Range(ws.Cells(15, 9), ws.Cells(17, 16) strTitle = Y= + CStr(Round(B0Range.Cells(1, 1), 4) + CStr(Round(B1Range.Cells(1, 1), 4) + *X With TitleRow .Merge .ColumnWidth = 11 设置列宽,11个字符宽 .Cells(1, 1) = strTitle .Font.Name = 宋体 .Font.Size = 12 .Font.Bold = True .HorizontalAlignment = xlVAlignCenter .VerticalAlignment = xlVAlignCenter .Borders.LineStyle = xlContinuous .Borders.Weight = xlThick End With 第一步结束 Set TitleRow = ws.Range(ws.Cells(18, 9), ws.Cells(19, 16) strTitle = 2、评定参数估值的精度 With TitleRow .Merge .ColumnWidth = 11 设置列宽,11个字符宽 .Cells(1, 1) = strTitle .Font.Name = 楷体_GB2312 .Font.Size = 14 .Font.Bold = True .HorizontalAlignment = xlVAlignCenter .VerticalAlignment = xlVAlignCenter .Borders.LineStyle = xlContinuous .Borders.Weight = xlThick End With Dim ygj As Excel.Range y估计 Dim v As Excel.Range 改正数 Dim B As Excel.Range 阵 Dim x1 As Excel.Range X阵 Dim d As Double 20 Dim d0 As Double 20 Dim d1 As Double 21 Set B = ws.Range(ws.Cells(11, 12), ws.Cells(12, 12) 取阵 Set x1 = ws.Range(ws.Cells(2, 1), ws.Cells(13, 2) 取X阵 Set ygj = ws.Range(ws.Cells(16, 3), ws.Cells(27, 3) 求y估计 ygj = Ap

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论