精华内容
下载资源
问答
  • 当自变量数量非常时,一个个写出来太麻烦,于是可以简写如下: y~. 若要考虑所有自变量之间的交互作用,可以写为: y~.^2 #二阶交互作用 y~.^3 #三阶交互作用 若只需考察某些自变量,可以先按一定...

    在使用各种回归时,需要写明拟合公式。最常见的形式如下:
    y~x1+x2    #可以增加任意数量的自变量

    若要加入自变量之间的交互作用,可以使用以下写法
    y~x1+x2+x1:x2
    y~(x1+x2)^2    #'^'表示最多n阶交互
    可以用'*'表示所有交互,如:
    x1*x2*x3即:x1+x2+x3+x1:x2+x2:x3+x1:x3+x1:x2:x3
    (x1+x2+x3)^2即:x1+x2+x3+x1:x2+x2:x3+x1:x3

    当自变量数量非常多时,一个个写出来太麻烦,于是可以简写如下:
    y~.

    若要考虑所有自变量之间的交互作用,可以写为:
    y~.^2    #二阶交互作用
    y~.^3    #三阶交互作用

    若只需考察某些自变量,可以先按一定标准挑出变量名,然后转为公式。
    fo=as.formula(paste("y ~ ", paste(xname, collapse= "+")))

    若需去除某些自变量,可以写为:
    y~(x1+x2)^2-x2

    若要去除常数项,可以写为
    y~x1-1
    y~0+x1

    若需将某些自变量进行一定运算,则可利用'I'将这些运算括起来,以免这些运算符造成混乱。
    y~x1+I(x2+x3)    #拟合公式包含两项,x1和sum(x2,x3)
    y~x1+I(x2*x3)
    y~x1+I(x2^x3)

    转载于:https://my.oschina.net/explore/blog/132868

    展开全文
  •  在很情况下,天文观测得到的数据是一组包含很大数量的序列点图象,每一点用x值和y值定义。这就可能需要画一条通过这些点的最佳拟合曲线。  有多种类型的曲线可以作为这些点的拟合曲线,如:直线、指数、多项式...

    来自:http://www.fjptsz.com/xxjs/xjw/rj/117/04.htm

    第4章 曲线拟合

      [许剑伟 于莆田十中 2008年4月23日]

      在很多情况下,天文观测得到的数据是一组包含很大数量的序列点图象,每一点用x值和y值定义。这就可能需要画一条通过这些点的最佳拟合曲线。

      有多种类型的曲线可以作为这些点的拟合曲线,如:直线、指数、多项式、对数曲线等。

      为了避免只对个别数据分析,需要进行最佳曲线拟合。考虑图1的N个数据点,它们的坐标是(X1,Y1),(X2,Y2)...,(XN,YN)。假设这些值中的X是严格的精确值,Y的值是测量值(含有一些误差)。

      对于一个给定的X,如X1,对应的值Y1与曲线C上对应的Y值将存在一个差值。在图中,我们用D1表示这个差值,有时我们也称这个差值为偏差、误差或残差,它可能是正、负或零。类似的,X2...,XN,对应的差值为D2,....,DN。

      我们用D1+ D2+ ... + DN2 作为衡量曲线C拟合的“最佳”程度,这个值越小越好,越大则越不好。因此,我们做以下定义:任何一种类型的曲线,它们都有一个共同的特性,当ΣDi2最小时,称为最佳拟合曲线。注:∑指“取和”计算。

      一条曲线具有这一特性时,称之为“最小二乘拟合”,这样的曲线称为“最小二乘曲线”。

      正如上面说的,我们假设各个X的值是精确的。当然,有时候我们会考虑再对D1、D2...DN做一次最小二乘曲线拟合,不过,这不常用。

      在本章,我们将考虑一个重要情形:拟合为一条直线,数学上称之为“线性回归”。“回归”一词看起来有点陌生,因为计算最佳曲线没什么好“回归”的,最好的术语就是“曲线似合”,在直线情况下就是“线性曲线拟合”。

    线性曲线拟合

      我们希望使用最小二乘法计算出以下线性方程的系数(斜率a以及y轴的截距b):

      y = a*x + b   (4.1)

      a和b可以使用以下公式计算:

      式中N是数据点的个数。注意,以上两式具有相同的分母,∑指逐项加法计算(取和)。∑x指对所有的x值求和,∑y指对所以的y值求和,∑(x^2)指对所有x的平方求和。∑xy指对所有的积xy进行取和计算。应注意,∑xy 与 ∑x*∑y是不相同的(“积的和”与“和的积”是不同的),同样(∑x)^2与∑(x^2)也是不相同的(“和的平方”与“平方的和”是不相同的)。

      有个有趣的天文应用,找出某个慧星亮度与它到太阳距离之间的关系。慧星的视星等m一般用以下公式表示:

      m = g + 5*logΔ + k * log r

      式中,Δ和r是距离,单位是天文单位,分别是慧星到地球和太阳的距离。log是以10为底的对数。绝对星等g和系数k须由天文观测数据间接推导,可以在一个足够长的时期内测星出星等m,然后再用适当方法计算(下文将使用最小二乘法算出g和k)。为了更精确,r的变化范围要足够大。对于每个m,相应的Δ和r须从星历表中推导出或者使用轨道要素计算出。

      在这种情况下,g和k是未知的。公式改写为:

      m - 5 logΔ = k * log r  + g

      它的形式与公式(4.1)相同,当我们写作 y = m - 5 logΔ,x = log(r)。我们把y称为“日心”星等,因为慧星到地球的距离变化效果已被移除。

    ----------------------------

    例4.a:——表4.A是Wild2(1978b)周期慧星的可视星等,John Bortle提供的。对应的r和Δ已经利用轨道要素计算出。

      用x和y计算各个和项:∑x,∑y,∑x2以及∑xy。我们得到:

    N=19
    ∑x  = 4.2805 ∑y  = 192.0400
    ∑x2 = 1.0031 ∑xy = 43.7943

    因此,由公式(4.2)得 a = 13.67,b = 7.03

    所以,这些观测值的最佳曲线拟合是:y = 13.67x + 7.03 或 m - 5 logΔ = 13.67 log r + 7.03

    此,周期慧星Wild2在1978年的星等为:m = 7.03 + 5 log Δ + 13.67 log r

    --------------------------

    关系系数(“互相关联程度”系数,概率论上称之为“相关系数”)

      一个“关系系数”是指两个变量相互联系程度的统计测量值。对于线性方程,关系系数是:

      这个系数介于+1到-1之间。如果值为+1或-1,说明x和y之间有完全的线性关系,所有的点(x,y)精确的在同一条直线上。如果 r = +1,y随x增加而增加(如图2),如果 r = -1,也是一条直线,但y随x增加而减小(如图3)。

      当r=0,x和y之间就没有关系了(如图4)。不过,在实践中,当数据没有联系时,我们得到的r可能没有精确为0,这是由于一般会存在偶然因素,除非数据点无穷多个。

      当|r|在0到1之间,x和y之间存在一定的“趋势”,虽然它们之间没有严格的关系(如图5)。要注意,即使两个变是是严格的线性关系,但我们计算的r值却可能不是精确等于+1或-1,那是因为测量值存在误差。

      应当注意,r的值是一个带小数的值,它没有单位。

      r的正负号仅告诉我们y是随x增加的还是减小的。事实上重要的不是符号,而是r的大小,因为r的大小表示直线逼近的程度。

      需要强调的是,在任何情况下,计算值r是用来衡量数据点与函数(线性方程)的相关程度。因此,当r接近于0,那么两个变量之间几乎线性无关,然而这不一定说明它们之间没有一点关系,因为它们可之间可能存在某种非常精确的非线性关系。做为一个例子,我们考查以下几个点:

    x -4 -3 -2 -1 0 +1 +2
    y -6 -1 +2 +3 +2 -1 -6

      由公式(4.3)得r=0,而这些数据是精确的抛物线关系 y = 2 - 2x -x*x,如图6。

      还应指出,很高的“关系系数”(接近下+1或-1),不一定直接说明变量之间的“物理”关系紧密。因此,如果考虑管理领域的一个足够大量的数据,我们可以在各精神病院的病床数量和电视接收机数量之间得到一个很高的“关系系数”。的确,它们具有很高的数学关系,但“物理”关系却是没有意义的。

    ------------------------------------

    例4.b:——表4.B,给出1761年到1989年,22次太阳黑子最大的情况。x是时间间隔(单位是月),从上一次太阳黑子最小算起。高度y是太阳黑子的最大值。

      我们得到:

    ∑x  = 1120   ∑y  = 2578.9    ∑xy = 122337.1
    ∑x2 = 60608  ∑y2 = 340225.91    N = 22

      然后由公式(4.2)和(4.1)得到:

      y = 244.18 - 2.49x  (4.4)

      方程(4.4)对应这22个点的最坐直线拟合。这些点和直线显示在图7。

      由公式(4.3)得 r = -0.767。这表明存在明显"关系",r是负值表明x和y的关系是负的:太阳黑子活动,从一个最小值达到下一个最大值的时间越长,太阳黑子的最大值则越小。

    --------------------------------

      要注意,正如统计学研究的,为了得到一个有意义的结果,样品要足够大。如果基于很小的样品数,我们得到“关系系数”接近于1或-1,那是没有“物理”意义的。当样品数很小时,我们可能偶然得到很大的“关系系数”。

    --------------------------------

      作为一个练习,请证实比利时Uccle天文台的降雨量与太阳黑子的活动无关。使用表4.C提供的数据,其中:

      x = 每年明显的Zurich太阳黑子数量,
      y = Uccle每年的降雨量,单位是毫米

      答案:“关系系数”r=-0.064,这表时x和y之间没有关系。

      如果去掉最后两点,系数(从1901到1988年)为-0.027。

    二次曲线拟合

      假设我们希望画一条逼近N个点的最佳二次曲线:

      y = ax2 + bx + c

     这是一个纵轴的抛物线。

    ---------------------------

    一般曲线拟合 (多重线回归)

      最佳线性拟合的原理可以被扩展到其它函数,这个函数可以含有超过两个未知的线性系数。

      让我们考虑三个函数的线性组合的情况。假设我们已知:

      y = a f0(x) + b f1(x) + c f2(x)

      式中f0、f1和f2是三个关于x的已知函数,但系数a、b和c是未知的。此外,假设已知3个x对应的y值。那么系数a、b、c可按如下得到。

    ----------------------------

    例4.c:——已知y表达为:

      y = a sin x + b sin 2x + c sin 3x

      并且y的值如下:

      我们把这道题留者。最后答案是:

      y = 1.2 sin x - 0.77 sin 2x + 0.39 sin 3x

      它的图像见上图。

      读者无须得到1.2、-0.77、+0.39的精确数,因为表中的y值只给出了4位有效数字。

    ----------------------------

      让我们考虑一种特殊的情况:

      y = ax2 + bx + c

      令:f0=x2,f1=x,f2=1

      这样算得 T = N (N是给定的点数),Q=R,这样,由公式(4.7)就可推导出(4.5)和(4.6),只是所用的字母符号不同。

      另一种特殊情况,考虑y=a*f(x),只有一个未知系数。我们容易得到:

      a = Σy·f / Σf2    (4.8)

    例4.d:

      y = a*sqrt(x)  (x>=0)

      寻找经过以下数据点的最佳曲线拟合:

    x: 0 1 2 3 4 5
    y: 0 1.2 1.4 1.7 2.1 2.2

      这里f(x)=sqrt(x),所以Σf2只是简单的对x求和,由公式(4.8)得:a = 15.2437/15

      所以,所需的函数是:y = 1.016*sqrt(x)

    参考资料

    1.Helmut Alt, Angewandte Mathematik, Finanz-Mathematik, Statistik,Informatik fur UPN-Rechner, P.125(Vieweg,Braunschweig,1979).

    2.国际天文联合会3177号通告(1978年2月24日)。

    展开全文
  • 当需要研究两个变量之间的关系时,经常要用到曲线拟合。曲线拟合不仅能给出拟合后的关系式,还能用图形直观的展现出变量之间的关系。 其实用matlab做曲线拟合很便捷,下面将以两个变量(y=f(x))为例详细介绍: 1、...

    通过 matlab 命令行 cftool 调出拟合工具箱,可以对存储在矩阵、数组中的变量群体进行多种数学方式的拟合,导出数据公式供以其他用途。


    以下是对拟合工具箱的 脚本之家教程详细描述:

    Matlab是一个很强大的数据处理软件,是人们进行数据分析的得力助手。一般我们做社会调研或科学研究时,会得到很多实验数据。当需要研究两个变量之间的关系时,经常要用到曲线拟合。曲线拟合不仅能给出拟合后的关系式,还能用图形直观的展现出变量之间的关系。 其实用matlab做曲线拟合很便捷,下面将以两个变量(y=f(x))为例详细介绍:

    1、运行Matlab软件。在工作空间中存入变量的实验数据。具体如下:可以直接用矩阵来存放数据,直接在命令窗口输入

    x=[数据x1,数据x2,...,数据xn];

    y=[数据y1,数据y2,...,数据yn];

    当数据较多时,可以从excel,txt等文件中导入。

    2、把数据存入工作空间后,在命令窗口中输入cftool,回车运行。

    3、在这个拟合工具窗口的左边,选择变量,即分别选择x,y。

    4、选择拟合的曲线类型,一般是线性拟合,高斯曲线,平滑曲线等,根据需要选择。选择完后会自动完成拟合,并且给出拟合函数表达式。

    5、点击菜单栏中的“file”,选择“print to figure"进行画图。

    6、在图形窗口中,可以对图形显示模式进行修改,如添加标题,坐标名称等。

    7、最后得到比较完整的图形曲线。点击”file"中的“save"进行保存。

    注意事项:x和y的数据个数应该一致。

    展开全文
  • Matlab有一功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线性曲线拟合。   假设我们要拟合的函数形式是 y=A*x*x + B*x, 且A>0,B>0 。   1、在命令行输入数据: 》x=...

    Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线性曲线拟合。

     

    假设我们要拟合的函数形式是 y=A*x*x + B*x, 且A>0,B>0 。

     

    1、在命令行输入数据:

    》x=[110.3323 148.7328 178.064 202.8258033 224.7105 244.5711 262.908 280.0447 296.204 311.5475];

    》y=[5 10 15 20 25 30 35 40 45 50];

     

    2、启动曲线拟合工具箱

    》cftool

     

    3、进入曲线拟合工具箱界面“Curve Fitting tool”

    (1)点击“Data”按钮,弹出“Data”窗口;

    (2)利用X data和Y data的下拉菜单读入数据x,y,可修改数据集名“Data set name”,然后点击“Create data set”按钮,退出“Data”窗口,返回工具箱界面,这时会自动画出数据集的曲线图;

    (3)点击“Fitting”按钮,弹出“Fitting”窗口;

    (4)点击“New fit”按钮,可修改拟合项目名称“Fit name”,通过“Data set”下拉菜单选择数据集,然后通过下拉菜单“Type of fit”选择拟合曲线的类型,工具箱提供的拟合类型有:

     

       * Custom Equations:用户自定义的函数类型

       * Exponential:指数逼近,有2种类型, a*exp(b*x) 、 a*exp(b*x) + c*exp(d*x)

       * Fourier:傅立叶逼近,有7种类型,基础型是 a0 + a1*cos(x*w) + b1*sin(x*w)

       * Gaussian:高斯逼近,有8种类型,基础型是 a1*exp(-((x-b1)/c1)^2)

       * Interpolant:插值逼近,有4种类型,linear、nearest neighbor、cubic spline、shape-preserving

       * Polynomial:多形式逼近,有9种类型,linear ~、quadratic ~、cubic ~、4-9th degree ~

       * Power:幂逼近,有2种类型,a*x^b 、a*x^b + c

       * Rational:有理数逼近,分子、分母共有的类型是linear ~、quadratic ~、cubic ~、4-5th degree ~;此外,分子还包括constant型

       * Smoothing Spline:平滑逼近(翻译的不大恰当,不好意思)

       * Sum of Sin Functions:正弦曲线逼近,有8种类型,基础型是 a1*sin(b1*x + c1)

       * Weibull:只有一种,a*b*x^(b-1)*exp(-a*x^b)

     

     

    选择好所需的拟合曲线类型及其子类型,并进行相关设置:

    ——如果是非自定义的类型,根据实际需要点击“Fit options”按钮,设置拟合算法、修改待估计参数的上下限等参数;

    ——如果选Custom Equations,点击“New”按钮,弹出自定义函数等式窗口,有“Linear Equations线性等式”和“General Equations构造等式”两种标签。

     

    在本例中选Custom Equations,点击“New”按钮,选择“General Equations”标签,输入函数类型y=a*x*x + b*x,设置参数a、b的上下限,然后点击OK。

     

    (5)类型设置完成后,点击“Apply”按钮,就可以在Results框中得到拟合结果,如下例:

    general model:

    f(x) = a*x*x+b*x

     

    Coefficients (with 95% confidence bounds):

    a = 0.009194 (0.009019, 0.00937)

    b = 1.78e-011 (fixed at bound)

     

    Goodness of fit:

    SSE: 6.146

    R-square: 0.997

    Adjusted R-square: 0.997

    RMSE: 0.8263

     

    同时,也会在工具箱窗口中显示拟合曲线。

     

    这样,就完成一次曲线拟合啦,十分方便快捷。当然,如果你觉得拟合效果不好,还可以在“Fitting”窗口点击“New fit”按钮,按照步骤(4)~(5)进行一次新的拟合。

     

    不过,需要注意的是,cftool 工具箱只能进行单个变量的曲线拟合,即待拟合的公式中,变量只能有一个。对于混合型的曲线,例如 y = a*x + b/x ,工具箱的拟合效果并不好。下一篇文章我介绍帮同学做的一个非线性函数的曲线拟合。 

    MATLAB曲线拟合工具箱在试验数据处理上的应用

    展开全文
  • 简单的表格是这么创建的: 项目 Value 电脑 $1600 手机 $12 导管 $1 设定内容居中、居左、居右 使用 :---------: 居中 使用 :---------- 居左 使用 ---------...
  •   问题 描述 表达式描述 表达式 单变量线性回归 只含有一个特征/输入变量 ... 含有多个特征/输入变量 多元一次函数 多项式回归 含有多个特征/输入变量 多元多次函数 ...
  • 数据集征兵抽签1-366号y366不同的人抽x结果表明生日靠后的人易抽到小号概念最小二乘法多项式曲线拟合,根据给定的m点,并不要求这条曲线精确地经过这些点,而是曲线y=f(x)的近似曲线y= φ(x)。原理 给定数据点pi...
  • Stanford机器学习课程笔记——LR的公式推导和过拟合问题解决方案      1. Logistic Regression     前面说的单变量线性回归模型和多变量线性...
  • 这篇文章本来是要写进我上一篇关于Polynomial regression实现的文章里的,但一方面由于这给散点图里添加拟合曲线和公式偏向画图,里面细节较,相对上一节内容独立;另一方面,为了使篇幅不致过长,读者看起来...
  • Stanford机器学习课程笔记——LR的公式推导和过拟合问题解决方案   1. Logistic Regression  前面说的单变量线性回归模型和多变量线性回归模型,它们都是线性的回归模型。实际上,很应用情况下,数据的...
  • (4)曲线拟合的应用     ------------------qq:1327706646 -------------------------author:midu --------------------------------datetime:2014-12-10 17:48:00   (1)前言  关于最小二...
  • 本文带大家认识了什么是过拟合,并且示范了用正则化的方法来避免过拟合的问题。多项式回归&过拟合你可能训练过这样的机器学习模型,它在训练样本上表现得无可挑剔,却在新样本预测上一塌糊涂。你可曾想过为什么会...
  • 参数拟合函数最重要的是初始点。初始点的选择可以靠直觉和经验,也可以通过遗传算法从大范围逐步的逼近。 基本语法如下: 这是函数:z=a*(x^b)*(y^c)的函数的拟合。x,y是自变量,z是应变量,a,b,c是拟合的参数。 ...
  • 最小二乘法拟合

    万次阅读 多人点赞 2016-03-14 22:05:04
    有一系列的数据点 {xi,yi}\{...圆拟合的方法有很种,最小二乘法属于比较简单的一种。今天就先将这种。我们知道圆方程可以写为: (x−xc)2+(y−yc)2=R2(x - x_c)^2 + (y - y_c)^2 = R^2通常的最小二乘拟合要求距离的
  • R入门(三) ----拟合、添加公式

    千次阅读 2019-03-04 18:22:17
    想起了研究生教我们商务英语的老师,和我们分享了一些学习英语的心得,让我们不要一来就读那些特别有名的名著,而且又难啃,一些外国小学水平的,在自己词汇量以下的读物,才会有更的输入。考完商...
  • 阶函数最小二乘拟合

    千次阅读 2018-05-23 13:43:23
    1.问题提出:给出一堆数据,假设有n组(x,y),求一k阶拟合,使拟合后的曲线,最接近给出的数据趋势,如下图公式(0)。 2.解决方案:这里给出三种拟合方案:1)绝对值之和最小,见公式(1)。2)差值平方和最小,...
  • 数据拟合

    万次阅读 2014-11-04 09:56:14
    假设对观测数据进行拟合,得到的拟合曲线为。将观测数据代入,得到,其和的偏差定义为   (1) 评价拟合结果好坏的函数称为指标函数  
  • 多项式拟合: x=1:10; y=randn(size(x)); p=polyfit(x,y,7); % 7阶多项式,返回拟合多项式的降幂系数 x1=0:.1:10; y_hat=polyval(p,x1); plot(x1,y_hat,x,y,'r*') 或者直接使用matlab的拟合工具箱 写好x, y值 x=1:...
  • 多变量线性回归

    千次阅读 2016-12-04 11:03:40
    目前为止,我们探讨了单变量/特征的回归模型,现在我们对房价模型增加更多的特征, 例如房间数楼层等,构成一个含有多个变量的模型,模型中的特征为(x1,x2,…,xn)增添更多特征后,我们引入一系列新的注释: n 代表特征的...
  • 怎么解决过拟合与欠拟合

    万次阅读 多人点赞 2018-03-07 22:31:21
    在训练数据不够时,或者over-training时,经常会导致over-fitting(过拟合)。其直观的表现如下图所所示。 随着训练过程的进行,模型复杂度,在training data上的error渐渐减小。可是在验证集上的error却反而...
  • 拟合优度R2

    万次阅读 2019-05-07 18:15:08
    拟合优度定义近期做多元回归分析拟合工作中,在进行线性拟合时,决定系数(又称拟合优度)上不去(卡在0.3左右)一直是困扰工作进度的一大问题。在经过多元高阶多项式和指数多项式等方法尝试后,虽有一定提高...
  • 随机森林过拟合问题

    万次阅读 多人点赞 2019-08-27 16:20:09
    任何机器学习算法都会有一很常见的问题,就是过拟合问题(overfitting),经常都能看到很多人在问随机森林会不会出现过拟合问题,在外国...我已经训练了数百随机森林(RF)模型,并且次观察到它们过拟合。第二...
  • 数据拟合的若干评价参数

    千次阅读 2018-10-09 16:28:14
    该统计参数计算的是拟合数据和原始数据对应点的误差的平方和,计算公式如下SSE越接近于0,说明模型选择和拟合更好,数据预测也越成功。接下来的MSE和RMSE因为和SSE是同出一宗,所以效果一样 二、MSE(均方差) 该统计...
  • 数据拟合方法

    万次阅读 2018-12-27 15:35:19
    1.2 数据拟合方法  曲线拟合也称为曲线逼近,它和插值函数有一些区别,只要求拟合的曲线合理的反应数据的基本趋势,而并不要求曲线一定经过数据点。曲线拟合有几种不同的判别准则,如使偏差的绝对值之和最小、使...
  • 拟合与欠拟合问题

    千次阅读 2016-03-17 15:24:58
    今天看了Andrew Ng cs229 Machine Learning 的公开课,很有收获,虽然对于视频中公式等的推导还是“晕”,但是,这是一步很好的开端!万事开头难!过拟合(overfitting)现象: ...1. 变量多(feature
  • 本栏目(Machine learning)包括单参数的线性回归、参数的线性回归、Octave Tutorial、Logistic Regression、Regularization、神经网络、机器学习系统设计、SVM(Support Vector Machines 支持向量机)、聚类、...
  • 今天帮同学做了一非线性函数的曲线拟合,以前没做过,所以是摸着石头过河。费了一下午时间,终于把曲线拟合出来了,顺道也学习了使用Matlab进行曲线拟合的方法,把学习所得记录下来,和大家共享。 一、 单一变量...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,922
精华内容 13,168
关键字:

多个变量拟合公式