Skip to content

规范

构建矩阵规范:

​ 行:样本对象

​ 列:指标

归一化的细节:

  • 全局归一化(量纲相同)

  • 局部归一化(量纲不同)

建模的模型

分析问题的方法

  • 5W2H分析法

数学模型问题分类

  • 优化类
  • 评价类
  • 预测类

优化类问题 1.1 数学规划模型 适用情况:要求一些变量有限制后,某一个变量或结果最大或最小,一般是最值问题

包括:线性规划、整数线性规划、非线性规划、多目标规划、动态规划。 (1)线性规划模型:目标函数和约束条件都是线性函数的数学规划模型; (2)整数规划模型:决策变量要求取整数值的线性规划模型; (3)非线性规划模型:目标函数或者约束条件中有非线性函数的数学规划模型; (4)多目标规划模型:具有多个目标函数的数学规划模型

1.2 微分方程组模型 经常适用于人口预测,求最值极值点则为优化的目标

1.3 图论算法 最短路径问题、网络最大流问题、最小费用最大流问题、最小生成树问题(MST)、旅行商问题(TSP)、图的着色问题

评价类问题 2.1 层次分析法

是最基本的评价问题分析方法,能够求出某个因素的权重。以看出指标的影响力。有权重,用层次分析,分析指标 主观性比较强,要自己定指标,所以一般是辅助问题。

2.2 TOPSIS法 TOPSIS法根据有限个评价对象与理想化目标的接近程度进行排序的方法,是在现有的对象中进行相对优劣的评价。 可以加入熵权法分析权重

2.3 主成分分析 在实际问题中,研究多指标(变量)问题是经常遇到的,然而在多数情况下,不同指标之间是有一定相关性。由于指标较多并且指标之间有一定的相关性,势必增加了分析问题的复杂性。 数据降维,方便计算,指标太多,减少点 主成分分析就是设法将原来众多具有一定相关性的指标(比如p个指标),重新组合成一组新的相互无关的综合指标来代替原来指标。通常数学上的处理就是将原来p个指标作线性组合,作为新的综合指标

2.4 模糊评价 运用模糊综合评价法可以有效的 将一些定性指标进行定量化分析 比如,A大坝建设的过程中融资可能出现多个风险因素,而每个风险因素对A大坝的影响程度无法进行精准的量化评估,具有一定的模糊特征。基于此,采用模糊综合评价法对A大坝融资过程中可能发生的不确定性进行量化评估

预测类问题 般的抽象系统,如社会系统、经济系统、农业系统、生态系统等都包含有众多的因素来共同决定了该系统的发展态势,所以系统分析就是要找出哪些是主要因素,那些事次要因素,那些因素对系统发展的影响最大,那些因素对系统发展的影响最小,那些因素对系统发展起推动作用不要强化发展,哪些因素对系统发展起阻碍作用要加以抑制

3.1 回归分析 当样本个数n较大时,一般使用标准化回归,做数据拟合,算参数

3.2 微分方程预测 一般适用于短中期预测。 例如: 传染病的预测模型、经济增长(或人口)的预测模型、Lanchester战争预测模型、药物在体内的分布与排除预测模型、烟雾的扩散与消失模型

构建方程,拟合参数

3.3 主成分分析 3.4 灰色关联分析 作用:给出各个指标和结果,算权重,得到哪个影响力大。 可以是预测也可以是评价某个指标 当样本数n较少时,才使用灰色关联分析。

最后得出的灰色关联度在经过归一化后即为各个指标的权重。 到这一步得出的权重,谁的值大,那么哪个指标对系统的影响就大

3.4 元胞自动机 一般以分子的方式模拟一些情况的变化。有益于当题目中分析不到指标,或者指标太过于抽象和学术时,以分子的形式创建指标。

3.5 神经网络模型 贝叶斯预测模型 小样本情况用贝叶斯预测模型 大样本用神经网络模型比较准确

数据处理

数据清洗

  • 异常值(过大,过小,不在范围内,负数)(判断为异常值的标准)
  • 空值
  • 数据类型
  • 结合实际情况
  • 重复值

数据整理

  • 同类项处理

Python Pandas

python
dates = pd.date_range('today',periods=6) # 生成日期 从今天开始往后的一共 6 天

df = pd.DataFrame(data_arr, index = index, columns = columns) # 设置 行索引 跟 列标题

# 使用字典格式创建 DataFrame 时,键 是列名称,值 是数据

# 输出数据相关信息
df.info()
print(df.describe())

# 获取 行列 的数据
df.loc(, [])   # 通过 行列的标签(index),名称(name) 来获取数据
df.iloc()  # 通过 索引 找值 (左闭右开原则)(切片原则)

.isnull()  		# 判断 为空 的数据
.between(2, 4)  # 取 2 到 4 行的数据 (双开区间)
.sum()			# 求和
.mean()			# 平均
.value_counts()	# 每个不同数据的出现次数
.counts()		# 数据条数
.sort_values(by=[], ascending=[False, True])  # 排序, False降序, True升序
.replace(a, b)	# 将 a 替换为 b (注意数据类型)
# & and

记录学习,分享技术