精华内容
下载资源
问答
  • 我有三个自变量 两个因变量,想分别做X1 X2 X3 与 Y1的关系和X1 X2 X3 与 Y2的关系,用matlab该怎样编程做多元非线性回归拟合,函数形式未知。还请哪位大佬帮帮忙,万分感激!数据如下:X1 X2 X3 Y1 Y210 3 0.2 0....

    我有三个自变量 两个因变量,想分别做X1 X2 X3 与 Y1的关系和X1 X2 X3 与 Y2的关系,用matlab该怎样编程做多元非线性回归拟合,函数形式未知。还请哪位大佬帮帮忙,万分感激!数据如下:

    X1        X2        X3        Y1        Y2

    10        3        0.2        0.0195        0.023095238

    10        3        0.4        0.019666666        0.027857143

    10        3        0.6        0.020833333        0.024761904

    10        3        0.8        0.0225        0.038095238

    10        3        1        0.022333333        0.025

    10        3.5        0.2        0.031333333        0.022244898

    10        3.5        0.4        0.021333333        0.027959183

    10        3.5        0.6        0.022666666        0.038367346

    10        3.5        0.8        0.029        0.042448979

    10        3.5        1        0.022833333        0.021224489

    10        4        0.2        0.033666666        0.023333333

    10        4        0.4        0.033        0.02375

    10        4        0.6        0.0305        0.03375

    10        4        0.8        0.040166666        0.051666666

    10        4        1        0.023666666        0.014166666

    10        4.5        0.2        0.025666666        0.025555555

    10        4.5        0.4        0.0295        0.024074074

    10        4.5        0.6        0.032166666        0.035555555

    10        4.5        0.8        0.033833333        0.048148148

    10        4.5        1        0.0225        0.018518518

    10        5        0.2        0.023666666        0.015333333

    10        5        0.4        0.0265        0.026666666

    10        5        0.6        0.029833333        0.033666666

    10        5        0.8        0.037666666        0.044

    10        5        1        0.024        0.016

    20        3        0.2        0.012166666        0.037222222

    20        3        0.4        0.010916666        0.038888889

    20        3        0.6        0.013583333        0.055

    20        3        0.8        0.015666666        0.055555555

    20        3        1        0.012333333        0.038888889

    20        3.5        0.2        0.011416666        0.014761904

    20        3.5        0.4        0.013083333        0.034285714

    20        3.5        0.6        0.013666666        0.04047619

    20        3.5        0.8        0.016416666        0.053333333

    20        3.5        1        0.010416666        0.027619047

    20        4        0.2        0.011333333        0.020416666

    20        4        0.4        0.01325        0.025833333

    20        4        0.6        0.014333333        0.038333333

    20        4        0.8        0.015833335        0.048333333

    20        4        1        0.011083333        0.0225

    20        4.5        0.2        0.011416666        0.023333333

    20        4.5        0.4        0.013833333        0.03074074

    20        4.5        0.6        0.0145        0.041481481

    20        4.5        0.8        0.016166666        0.05

    20        4.5        1        0.011333333        0.011851851

    20        5        0.2        0.012833333        0.021

    20        5        0.4        0.013833333        0.023333333

    20        5        0.6        0.016666666        0.034666666

    20        5        0.8        0.016916666        0.043

    20        5        1        0.0095        0.012666666

    30        3        0.2        0.007944444        0.03

    30        3        0.4        0.006388889        0.035

    30        3        0.6        0.007888889        0.043888889

    30        3        0.8        0.009833333        0.055

    30        3        1        0.006444444        0.023888889

    30        3.5        0.2        0.007222222        0.022380952

    30        3.5        0.4        0.006611111        0.029523809

    30        3.5        0.6        0.009333333        0.045714285

    30        3.5        0.8        0.010944444        0.056190476

    30        3.5        1        0.005944444        0.028571428

    30        4        0.2        0.009333333        0.01875

    30        4        0.4        0.008333333        0.0275

    30        4        0.6        0.010388889        0.037916666

    30        4        0.8        0.010666666        0.045833333

    30        4        1        0.006722222        0.013333333

    30        4.5        0.2        0.008777778        0.019629629

    30        4.5        0.4        0.011444444        0.027777777

    30        4.5        0.6        0.012055555        0.027777777

    30        4.5        0.8        0.011555555        0.048148148

    30        4.5        1        0.006333333        0.01074074

    30        5        0.2        0.006333333        0.013666666

    30        5        0.4        0.008277778        0.023333333

    30        5        0.6        0.009833333        0.032333333

    30        5        0.8        0.012277777        0.039666666

    30        5        1        0.005166667        0.006

    40        3        0.2        0.005708333        0.023888889

    40        3        0.4        0.005625        0.042777777

    40        3        0.6        0.005291667        0.042222222

    40        3        0.8        0.006833333        0.055555555

    40        3        1        0.003833333        0.011666666

    40        3.5        0.2        0.00475        0.027619047

    40        3.5        0.4        0.004041667        0.024285714

    40        3.5        0.6        0.005541667        0.027142857

    40        3.5        0.8        0.007333333        0.047619047

    40        3.5        1        0.003791667        0.014761904

    40        4        0.2        0.005208333        0.015416666

    40        4        0.4        0.005        0.0225

    40        4        0.6        0.006166667        0.025833333

    40        4        0.8        0.007916667        0.04125

    40        4        1        0.004041667        0.0075

    40        4.5        0.2        0.005583333        0.01037037

    40        4.5        0.4        0.005666667        0.018888888

    40        4.5        0.6        0.006875        0.034444444

    40        4.5        0.8        0.008416667        0.041111111

    40        4.5        1        0.005083333        0.01074074

    40        5        0.2        0.004583333        0.012

    40        5        0.4        0.005875        0.019333333

    40        5        0.6        0.006625        0.032333333

    40        5        0.8        0.0095        0.051333333

    40        5        1        0.003833333        0.002666667

    50        3        0.2        0.0027        0.016111111

    50        3        0.4        0.003233333        0.027222222

    50        3        0.6        0.003766667        0.030555555

    50        3        0.8        0.004333333        0.044444444

    50        3        1        0.002366667        0.017222222

    50        3.5        0.2        0.002333333        0.021428571

    50        3.5        0.4        0.003933333        0.034761904

    50        3.5        0.6        0.004466667        0.041428571

    50        3.5        0.8        0.006466667        0.062857142

    50        3.5        1        0.002966667        0.017619047

    50        4        0.2        0.002633333        0.02375

    50        4        0.4        0.003933333        0.024583333

    50        4        0.6        0.0041        0.030416666

    50        4        0.8        0.006066667        0.040416666

    50        4        1        0.002566667        0.012083333

    50        4.5        0.2        0.0026        0.014074074

    50        4.5        0.4        0.004066667        0.018518518

    50        4.5        0.6        0.004866667        0.025185185

    50        4.5        0.8        0.0056        0.029629629

    50        4.5        1        0.003166667        0.006296296

    50        5        0.2        0.0028        0.008666667

    50        5        0.4        0.003233333        0.020285714

    50        5        0.6        0.0049        0.027333333

    50        5        0.8        0.0072        0.037

    50        5        1        0.003        0.01

    展开全文
  • 如何用两组自变量拟合数据

    千次阅读 2021-01-29 18:24:56
    这使用scipy.optimize.curve U拟合()进行多元回归,建立了三维数据散点图、拟合函数的三维曲面图和拟合函数的等值线图。注意,我使用默认的scipy初始参数进行曲线拟合。在import numpy, scipy, scipy.optimizeimport...

    下面是一个Python3示例,它使用您的函数处理测试数据。这使用scipy.optimize.curve U拟合()进行多元回归,建立了三维数据散点图、拟合函数的三维曲面图和拟合函数的等值线图。注意,我使用默认的scipy初始参数进行曲线拟合。在import numpy, scipy, scipy.optimize

    import matplotlib

    from mpl_toolkits.mplot3d import Axes3D

    from matplotlib import cm # to colormap 3D surfaces from blue to red

    import matplotlib.pyplot as plt

    graphWidth = 800 # units are pixels

    graphHeight = 600 # units are pixels

    # 3D contour plot lines

    numberOfContourLines = 16

    def SurfacePlot(func, data, fittedParameters):

    f = plt.figure(figsize=(graphWidth/100.0, graphHeight/100.0), dpi=100)

    matplotlib.pyplot.grid(True)

    axes = Axes3D(f)

    x_data = data[0]

    y_data = data[1]

    z_data = data[2]

    xModel = numpy.linspace(min(x_data), max(x_data), 20)

    yModel = numpy.linspace(min(y_data), max(y_data), 20)

    X, Y = numpy.meshgrid(xModel, yModel)

    Z = func(numpy.array([X, Y]), *fittedParameters)

    axes.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm, linewidth=1, antialiased=True)

    axes.scatter(x_data, y_data, z_data) # show data along with plotted surface

    axes.set_title('Surface Plot (click-drag with mouse)') # add a title for surface plot

    axes.set_xlabel('X Data') # X axis data label

    axes.set_ylabel('Y Data') # Y axis data label

    axes.set_zlabel('Z Data') # Z axis data label

    plt.show()

    plt.close('all') # clean up after using pyplot or else thaere can be memory and process problems

    def ContourPlot(func, data, fittedParameters):

    f = plt.figure(figsize=(graphWidth/100.0, graphHeight/100.0), dpi=100)

    axes = f.add_subplot(111)

    x_data = data[0]

    y_data = data[1]

    z_data = data[2]

    xModel = numpy.linspace(min(x_data), max(x_data), 20)

    yModel = numpy.linspace(min(y_data), max(y_data), 20)

    X, Y = numpy.meshgrid(xModel, yModel)

    Z = func(numpy.array([X, Y]), *fittedParameters)

    axes.plot(x_data, y_data, 'o')

    axes.set_title('Contour Plot') # add a title for contour plot

    axes.set_xlabel('X Data') # X axis data label

    axes.set_ylabel('Y Data') # Y axis data label

    CS = matplotlib.pyplot.contour(X, Y, Z, numberOfContourLines, colors='k')

    matplotlib.pyplot.clabel(CS, inline=1, fontsize=10) # labels for contours

    plt.show()

    plt.close('all') # clean up after using pyplot or else thaere can be memory and process problems

    def ScatterPlot(data):

    f = plt.figure(figsize=(graphWidth/100.0, graphHeight/100.0), dpi=100)

    matplotlib.pyplot.grid(True)

    axes = Axes3D(f)

    x_data = data[0]

    y_data = data[1]

    z_data = data[2]

    axes.scatter(x_data, y_data, z_data)

    axes.set_title('Scatter Plot (click-drag with mouse)')

    axes.set_xlabel('X Data')

    axes.set_ylabel('Y Data')

    axes.set_zlabel('Z Data')

    plt.show()

    plt.close('all') # clean up after using pyplot or else thaere can be memory and process problems

    def func(data, a, alpha, beta):

    t = data[0]

    p_p = data[1]

    return a * (t**alpha) * (p_p**beta)

    if __name__ == "__main__":

    xData = numpy.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0])

    yData = numpy.array([11.0, 12.1, 13.0, 14.1, 15.0, 16.1, 17.0, 18.1, 90.0])

    zData = numpy.array([1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.0, 9.9])

    data = [xData, yData, zData]

    # this example uses curve_fit()'s default initial paramter values

    fittedParameters, pcov = scipy.optimize.curve_fit(func, [xData, yData], zData)

    ScatterPlot(data)

    SurfacePlot(func, data, fittedParameters)

    ContourPlot(func, data, fittedParameters)

    print('fitted prameters', fittedParameters)

    展开全文
  • Python曲线拟合变量

    千次阅读 2020-12-04 15:02:19
    正如其他人所观察到的,您的函数需要返回具有输入数据形状的内容,因此您需要更改错误函数的输出形状。由于scipy执行一个最小二乘函数,所以这是通过使函数返回np.sqrt(val1 ** 2 + val2 ** 2)来实现的。...

    正如其他人所观察到的,您的函数需要返回具有输入数据形状的内容,因此您需要更改错误函数的输出形状。由于scipy执行一个最小二乘函数,所以这是通过使函数返回np.sqrt(val1 ** 2 + val2 ** 2)来实现的。在

    但是,对于这类问题,我更喜欢使用我编写的scipy的包装器,以简化处理多个组件的过程,称为^{}。在

    在symfit中,这个示例问题将按如下方式解决:from symfit import parameters, variables, log, Fit, Model

    import numpy as np

    import matplotlib.pyplot as plt

    x, y, z1, z2 = variables('x, y, z1, z2')

    a, b, c = parameters('a, b, c')

    z1_component = log(a) + b * log(x) + c * log(y)

    model_dict = {

    z1: z1_component,

    z2: log(a) - 4 * z1_component/3

    }

    model = Model(model_dict)

    print(model)

    # Make example data

    xdata = np.linspace(0.1, 1.1, 101)

    ydata = np.linspace(1.0, 2.0, 101)

    z1data, z2data = model(x=xdata, y=ydata, a=10., b=4., c=6.) + np.random.random(101)

    # Define a Fit object for this model and data. Demand a > 0.

    a.min = 0.0

    fit = Fit(model_dict, x=xdata, y=ydata, z1=z1data, z2=z2data)

    fit_result = fit.execute()

    print(fit_result)

    # Make a plot of the result

    plt.scatter(xdata, z1data, s=1, color='blue')

    plt.scatter(xdata, z2data, s=1, color='green')

    plt.plot(xdata, model(x=xdata, y=ydata, **fit_result.params).z1, color='blue')

    plt.plot(xdata, model(x=xdata, y=ydata, **fit_result.params).z2, color='green')

    输出:

    ^{pr2}$

    展开全文
  • 今天遇到一个问题,是求解matlab多元函数拟合的, 但是函数关系不确定,就是需要自己定义函数关系,然后自己调试函数中需要的参数的值。 刚开始思路是自定义一个函数关系式,然后用pso求解最优参数,其最后输出的y的...

    今天遇到一个问题,是求解matlab多元函数拟合的,

    但是函数关系不确定,就是需要自己定义函数关系,然后自己调试函数中需要的参数的值。

    刚开始思路是自定义一个函数关系式,然后用pso求解最优参数,其最后输出的y的值为下图所示,输入有三个自变量,x1,x2,x3.

    最后的需求是找到x1,x2,x3.与y的具体关系式子,比如
    y=ax1+bx2+cx3;
    y=a
    x1+bx2+cx3+ex1x1+fx2x2++ex3x3;等等

    找到思路后,尝试了很多能想到的函数关系,当然,部分结果我感觉是还可以:从刚开始的下图效果,这个拟合结果整体趋势是有了,但是结果很不理想,然后增加了更复杂的参数模型
    在这里插入图片描述
    进补到下列效果,大概是63个值与标准y的误差在1%-2%之间,此时自定义的拟合函数变为
    在这里插入图片描述
    看到效果还不错,然是还是有很大误差。开头和结尾差距还是很大在这里插入图片描述

    到后来,放弃自己试了, 用ANN去算了,然后手动带内核参数生成函数,大概有37个参数,函数式一长串,但是拟合效果还是可以的,如下图所示:
    在这里插入图片描述
    但是这个效果,只有220个点误差在范围内,一共280个数据,还有60个数据误差偏大

    仔细看了看发现,应该就是开头和结尾误差大
    在这里插入图片描述
    最后,最后,经过多次尝试,
    在这里插入图片描述
    278个点正确,满足1%-2%的误差,也达到最终拟合需求。

    在这里插入图片描述
    记录一下,需要数据拟合的可以私聊

    展开全文
  • 如何用matlab进行多元非线性拟合

    千次阅读 2021-04-20 10:48:20
    最上面的“function zd487022570”是因为调用lsqcurvefit需要把拟合公式写成函数,而这种问题用inline函数或匿名函数都不太方便,所以使用了function。而在一个文件中如果有function就不能是script,所以就把前面的...
  • 用机器学习的方法进行数据的多元线性拟合【Matlab程序】思路说明留一法介绍代码和具体过程合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个...
  • PAGE 1 电脑输出的多元回归分析结果中 衡量拟合公式优劣的4类指标 ? 散点图及其一元回归拟合分析是常用的科研手段是寻找变量之间相互关系因果关系线索等的重要手段自然界变量之间的关系极其复杂两个变量之间可以是...
  • 急,如何用excel拟合多元函数

    千次阅读 2021-03-07 20:16:07
    数据如下,公式lny=lnA+aT+blnK+clnL+D其中AD是固定值,y是生产总值,T是时间,K是固定资产投资,L是就业,求用excel拟合方程求出abc,多谢了,急等各位大侠生产总值 固定资产投资 时间 就业522.28 115.41 1 ...
  • 我正在尝试使用三个自变量拟合线性回归模型,并使用sklearn计算均方误差,但我似乎无法正确解决。我的数据是"波士顿住房",三个独立变量如下:1. CRIM(城镇的人均犯罪率)2. RM(每个住宅的平均房间数)3. PTRATIO(按镇...
  • 一、高维多元数据非线性/线性拟合: Matlab绘制三维空间网格散点图,使用cftool工具箱实现三维空间绘图。cftool工具箱是应用程序中的Curve Fitting应用。选择拟合曲线的类型,工具箱提供的拟合类型有: Custom ...
  • KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用...
  • python-使用scipy拟合多个参数曲线

    千次阅读 2020-12-04 15:02:17
    请注意,scipy.optimize.leastsq仅需要一个函数,该函数返回要最小化的任何值,在这种情况下,实际y数据与拟合函数数据之间的差. Minimumsq中的实际重要变量是您要适合的参数,而不是x和y数据.后者作为额外的参数以及三...
  • 本文旨在能快速地用 matlab 实现基于多元线性回归拟合/分析。小编已将代码都封装好了。在分析样例的同时,也简单地讲解了其原理和相关参数。该系列文章是个人在参加2021年暑假国赛数模的培训,自己记录的心得与体会...
  • 课题组需要做数据的处理,其中一项是做数据拟合,并导出公式。这是我第一次使用matlab,发现它并不难,而且利用好了就是很棒的工具,不应让它成为拦路虎。乘着现在暑假时期,空闲时间比较多,就多多了解一些。 1. ...
  • LINEST 函数可通过使用最小二乘法计算与现有数据最佳拟合的直线,来计算某直线的统计值,然后返回描述此直线的数组。也可以将 LINEST 与其他函数结合使用来计算未知参数中其他类型的线性模型的统计值,包括多项式、...
  • 【R】多元线性回归(拟合

    千次阅读 2019-09-22 11:21:26
    R实现多元线性回归,主要利用的就是lm()函数 熟悉其他统计回归量的函数,对做回归分析也是很有帮助的。 anova(m): ANOVA表 coefficients(m): 模型的系数 coef(m): 跟coefficients(m)一样 confint(m): ...
  • 1.多元线性回归SPSS分析 四步搞定SPSS多元线性回归视频教程(含详细操作及结果解读)_哔哩哔哩_bilibili订阅陈老师B站送福利!订阅后加陈老师QQ1622275006送数据分析教程及软件福利哟~关注微信公众号:杏花开医学...
  • 文章参考NG的视频和黄海广博士的笔记现在对房价模型增加更多的特征,例如房间数楼层等,构成一个含有多个变量的模型,模型中的特征为(x1,x2,...,xn)表示为:引入x0=1,则公式转化为:1、加载训练数据数据格式为:X1,...
  • 概念最小二乘法多项式曲线拟合,根据给定的m个点,并不要求这条曲线精确地经过这些点,而是曲线y=f(x)的近似曲线y= φ(x)。原理给定数据点pi(xi,yi),其中i=1,2,…,m。求近似曲线y= φ(x)。并且使得近似曲线与y=f(x)...
  • (4)曲线拟合的应用     ------------------qq:1327706646 -------------------------author:midu --------------------------------datetime:2014-12-10 17:48:00   (1)前言  关于最小二...
  • 如何用excel做多元回归分析拟合程度高,主要几期的数据离散性小(30.4 31.7 29.7 29.9 31.3 38.5),做趋势线,前几期的数据拟合的好差减少许多,但是用线性的话,前几期就拟合不好,残差比较大。我感觉EXCEL给出的...
  • 目录 一、函数的近似表示—高次多项式 二、误差函数—最小二乘法 三、引出案例函数曲线 ...八、python编程实现拟合曲线函数 九、结果分析 一、函数的近似表示—高次多项式 为了研究一些复杂...
  • * 多元线性拟合 * y = a + b*x1 + c*x2 * @param x * @param y * result[0] = a * result[b] = b * . * . * . * result[len - 4] 点数 * result[len - 3] 自由度 * result[len...
  • 多元线性回归多元线性回归模型实际中有很多问题是一个因变量与多个自变量成线性相关,我们可以用一个多元线性回归方程来表示。为了方便计算,我们将上式写成矩阵形式:Y = XW假设自变量维度为NW为自变量的系数,下标0...
  • 手写算法-Python代码实现非线性回归

    千次阅读 2020-12-08 14:28:50
    生成非线性数据集前面我们介绍了Python代码实现线性回归,今天,我们来聊一聊当数据呈现非线性时,这时我们继续用线性表达式去拟合,显然效果会很差,那我们该怎么处理?继续上实例(我们的代码里用到的数据集尽量...
  • 曲线拟合:字面意思 应用:预测和检验 方法:两种 最小二乘法(数值不精确) 插值法(数值精确,曲线过每个点) 基础数学理论: 泰勒级数(预测下一个函数值),有限差商,均值,标注差(方差开根),残差平方和...
  • 目录 1、线性回归概述 2、数据准备 3、数据探索 3.1简单的数据清洗 3.2 图形分析数据 3.2.1 盒形图的离群点分析,需要根据四分位距去掉部分数据点。 3.2.2 密度图进行分布分析 3.2.3...公式:IQR = Q3 − Q1, #####基于...
  • 讲解了多元线性回归公式的推导以及分别用解析解和sklearn两种方法求解发电厂数据集。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,312
精华内容 2,924
关键字:

多元变量拟合公式