数学建模问题,求方法

img

img

img


进行过数据处理之后,散点图的趋势还是看不出来,尝试的拟合函数都不太行。
考虑用随机森林,但是这样出不来数学模型
求思路,求方法

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7802602
  • 你也可以参考下这篇文章:以一元及二元函数为例,通过多项式的函数图像观察其拟合性能;以及对用多项式作目标函数进行机器学习时的一些理解。
  • 除此之外, 这篇博客: 数学建模之层次分析法中的 层次分析法,数学建模中最简单且较为常用的方法,主要用于解决最优选择方案问题。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • **

    1. 评价的目标是什么?
    评价的目标一般都是题目所要求的

    例如:小明要去桂林、西藏、杭州三地旅游,请为他选择去哪地旅游最好。那么选择去哪里旅游即为评价的目标

    2. 到达目标有哪几种选择方案?
    在该题中,明显有三种,1.桂林 2.西藏 3.杭州

    3. 评价的指标是什么?
    一般我们可以通过查阅相关文献或者头脑风暴,根据这些指标对对象进行相应的打分

    首先我们可以生成一个如下的表来计算各项指标的加权值进而计算出最优方案。

    指标权重方案1方案2方案3
    指标1
    指标2
    指标3

    这张表中的指标权重不好获取,针对不同的人,指标权重是不一样的,我们可以对他进行问卷调查,让他填一下哪一个指标比较重要,哪一个不重要,当指标较少时可以直接比较,但是指标较多时用户往往难以抉择。因此我们可以通过两两比较指标的方法获取指标的权重,这也就是层次分析法
    我们可以生成一个如下表:

    指标1指标2指标3
    指标1123
    指标21/214
    指标31/31/41

    这个矩阵称之为“判断矩阵”
    通过上面的矩阵我们可以计算出各个指标权重,其中aij越大代表指标ai指标相对于aj越重要
    例如:我们针对旅游景点查到到是三个影响指标为:花费、美食、交通

    花费美食交通
    花费123
    美食1/214
    交通1/31/41

    表中对角线元素均为1,代表指标与其自身相比同等重要,a12=2,代表花费相对于美食更看重花费。
    接下来依据各个指标计算各个方案的判断矩阵

    指标1方案1方案2方案3
    方案11
    方案21
    方案31
    花费桂林西藏杭州
    桂林11/35
    西藏314
    杭州1/51/41

    上面代表的意思是,在花费方面,桂林相比于西藏可能会比去西藏花费的多,相比于杭州可能杭州花费的更多

    但是需要注意的是有可能会出现不一致的问题:

    交通桂林西藏杭州
    桂林121
    西藏1/214
    杭州11/21

    该判断矩阵认为:在交通方面 1.去桂林和去杭州一样方便 2.去桂林比去西藏方便 3.去西藏比去杭州方便 综合三点可以明显看出:不符合逻辑了!
    因此我们要判断一致性。
    一致矩阵应当满足一下关系:各行或各列应当成倍数关系。

    因此,在我们使用判断矩阵求权重之前一定要对矩阵进行一致性检验
    判断三个条件:

    1. aij>0(矩阵所有元素均大于0)
    2. a11=a22=a33=ann=1(主对角线元素为1)
    3. [ai1,ai2,…ain]=ki[a11,a12,…a1n](各行或各列成倍数关系)

    那么应当如何判断呢?
    这里我们需要计算一致性指标CI,CI=(λ\lambdaλmax-n)/(n-1)
    一致性比例CR,CR=CI/RI,其中RI可以通过查表得知
    如果计算的CR<0.1,则认为这个判断矩阵可以接受,然后计算权重

    然后我们可能想知道,如何根据判断矩阵来计算权重呢?

    1. 算数平均法:
      将判断矩阵按照列归一化(每一个元素除以其所在列的和)

    2. 将归一化的各列相加(按行求和)

    3. 将相加后得到的向量除以n得到权重向量

  • 您还可以看一下 吴刚老师的【吴刚大讲堂】电商视觉的排版与应用方法课程中的 订单页面的表单视觉优化及细节处理方法小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    问题的解决方法:

    对于利用随机森林进行数据拟合问题,可以按照以下步骤来解决:

    1. 数据准备:首先,需要准备好要进行拟合的数据集。确保数据集包含要拟合的散点图的相关信息。

    2. 导入库和数据:使用合适的编程语言和相应的库,导入数据集。

    3. 数据预处理:对数据集进行必要的预处理,包括缺失值处理、数据清洗、特征选取等。确保数据集中不包含不符合要求的数据。

    4. 拟合模型:使用随机森林算法对数据进行拟合。

    5. 模型评估:通过评估拟合模型的性能指标,如误差、拟合程度等,来判断拟合结果的准确性。

    下面是一个使用Python的scikit-learn库进行随机森林拟合的示例代码:

    from sklearn.ensemble import RandomForestRegressor
    import numpy as np
    
    # 准备样本数据
    X = np.array([[0, 0], [1, 1]])
    Y = np.array([0, 1])
    
    # 创建随机森林回归模型
    model = RandomForestRegressor(n_estimators=100)
    
    # 拟合模型
    model.fit(X, Y)
    
    # 预测新的数据
    new_data = np.array([[2, 2]])
    prediction = model.predict(new_data)
    
    # 打印预测结果
    print(prediction)
    

    请注意,这只是一个简单的示例,具体的实施步骤可能会因数据集的不同而有所不同。在实际项目中,可能需要更多的数据预处理步骤、参数调整和模型评估等操作。

    希望这个解决思路和示例代码对你有帮助!