iiabm-core/README.md

37 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 安装内容
1. 数据库推荐使用mysql 8.0以上版本
2. Python 3.8
3. 通过pip等方法安装*requirements_manual_selected_20230304.txt*文件中的包
## 前期准备工作
1. 复制整个代码到本地
2. 用root及密码登录mysql在本地数据库中创建一个数据库命名为*iiabmdb*
3. 在mysql中运行*SQL_db_user_create.sql*里的sql命令创建数据库用户。如果创建用户报错需打开该文件并运行第三行被注释掉的代码。该文件后面的sql命令也需要运行将数据库用户的权限赋予*iiabmdb*数据库
4. 之后直接运行controller.py文件如果没有报错则说明前期准备工作完成
## 运行程序
1. 将*conf_db_prefix.yaml*文件中的*db_prefix*改为*db_name_prefix: without_exp*
2. 打开命令行,进入代码所在目录,运行
```shell
python main.py --exp without_exp --reset_db True
```
3. 等待运行完成23750个样本。结束后将*db_name_prefix: without_exp*改为*db_name_prefix: with_exp*,并运行
```shell
python main.py --exp with_exp --reset_db True
```
4. 漫长的等待17.1万个样本),直到运行完成
## 获得结果,绘制图表
### 风险节点分析
1. 运行*risk_analysis_sum_result.py*文件该程序自动产生风险节点分析统计数据并放置到output_result/risk文件夹中
2. 依次运行*risk_analysis_prod_network.py**risk_analysis_firm_network.py*文件将自动产生相关结果放置到output_result/risk文件夹中
### 韧性影响因素分析
1. 运行*SQL_analysis_experiment.sql*文件将汇总结果手工复制至output_result/resilience文件夹*experiment_result.csv*文件中
2. 使用Minitab进行田口设计分析
3. 新建田口设计统计——DOE——田口——创建田口设计——混合水平设计因子数选项设置为8设计选项设置为L36水平^列为2^33^5因子选项中将列名依次修改为is_prf_sizeis_prf_connex_cap_typen_max_trialex_cap_paraprob_new_connt_max_trialn_sourcing
4. 将output_result/resilience文件夹*experiment_result.csv*文件中结果复制入田口设计表格右侧列
5. 依次对各个韧性指标进行田口设计分析统计——DOE——田口——分析田口设计从mean_count_firm_prodmean_max_ts_firm_prodmean_n_remove_firm_prodmean_end_ts中选择一个韧性指标图形选项勾选均值分析选项中显示响应表勾选均值拟合线性模型勾选均值点击确定
6. 手工汇总方差分析结果至output_result/resilience文件夹*anova.csv*文件中,汇总响应表结果至*anova_visualization.csv*文件中