This commit is contained in:
Re1b00m 2025-03-06 10:51:46 +08:00
parent ac6d663d78
commit ef28a1cdf9
5 changed files with 144 additions and 0 deletions

39
basic_experiment.py Normal file
View File

@ -0,0 +1,39 @@
"""
实验1: 基础降噪与动力学特性恢复实验 (核心实验)
目标:
验证 RC 降噪方法在降噪和动力学特性恢复方面的基本有效性建立基准性能
实验设置:
- 混沌系统: 例如 Lorenz Rossler 系统
- 噪声类型: 高斯白噪声 (可扩展到其他噪声)
- 噪声水平: 不同 SNR 设置
- RC 模型: 使用 ESN RC 模型调优储备池大小谱半径等参数
- 训练方法: 监督学习 (例如 Ridge 回归)
评估指标:
- 降噪指标: SNR 提升均方根误差 (RMSE)
- 动力学特性恢复指标: 吸引子重构质量Lyapunov 指数估计误差分形维数估计误差预测精度
结果展示:
- 可视化时间序列吸引子重构PSD 对比图和表格展示指标结果
"""
def load_data():
# TODO: 生成并加载带噪及干净混沌系统数据
pass
def build_esn_model():
# TODO: 构建 RC/ESN 模型并设置关键参数
pass
def train_model():
# TODO: 利用训练集进行训练,使用监督学习方法
pass
def evaluate_results():
# TODO: 计算 SNR, RMSE, 吸引子重构、Lyapunov 指数估计误差等指标
pass
if __name__ == "__main__":
# 主实验流程
load_data()
build_esn_model()
train_model()
evaluate_results()

34
comparison_experiment.py Normal file
View File

@ -0,0 +1,34 @@
"""
实验2: 对比实验 (突出 RC 方法的优势)
目标:
RC 降噪方法与其他经典及机器学习降噪方法 ( Wiener 滤波卡尔曼滤波SVRGBRTLSTM) 进行对比
在相同混沌系统噪声类型数据划分下评估各方法在降噪和动力学特性恢复方面的表现
实验设置:
与实验1一致加入不同降噪方法的实现和参数配置
结果展示:
- 表格展示各方法在不同噪声水平下的指标对比
- 图表展示 (例如 Lyapunov 指数估计误差的折线图)
"""
def load_data():
# TODO: 生成并加载混沌系统数据(带噪和干净)
pass
def build_models():
# TODO: 构建 RC 模型以及其他对比降噪模型Wiener、卡尔曼、SVR、GBRT、LSTM等
pass
def train_models():
# TODO: 训练各个模型,确保训练流程一致
pass
def evaluate_models():
# TODO: 评估不同模型的降噪效果和动力学指标差异
pass
if __name__ == "__main__":
# 主对比实验流程
load_data()
build_models()
train_models()
evaluate_models()

37
noise_experiment.py Normal file
View File

@ -0,0 +1,37 @@
"""
实验4: 不同噪声类型实验 (鲁棒性分析可选但加分)
目标:
评估 RC 降噪方法在不同噪声类型下的表现包括高斯白噪声色噪声 (1/f噪声)脉冲噪声和混合噪声
分析不同噪声条件下的降噪效果及动力学特性恢复能力
实验设置:
- 保持混沌系统数据划分等设置不变仅改变噪声类型
结果展示:
- 表格对比各噪声类型下的降噪及动力学指标
- 分析不同噪声下 RC 方法的鲁棒性和适应性
"""
def load_data_with_noise(noise_type):
# TODO: 根据 noise_type 添加不同噪声 (Gaussian, 1/f, Impulse, Mixed) 到混沌数据
pass
def build_model():
# TODO: 构建 RC 模型 (参数配置与基础实验保持一致)
pass
def run_noise_experiment():
noise_types = ["Gaussian", "Colored(1/f)", "Impulse", "Mixed"]
for nt in noise_types:
# 每种噪声下分别进行实验流程
load_data_with_noise(nt)
build_model()
# TODO: 训练与评估
# 记录并保存结果
print(f"实验结束: 噪声类型 {nt}")
def visualize_noise_results():
# TODO: 绘制各噪声类型下的降噪及动力学指标对比图
pass
if __name__ == "__main__":
run_noise_experiment()
visualize_noise_results()

34
sensitivity_experiment.py Normal file
View File

@ -0,0 +1,34 @@
"""
实验3: 参数敏感性分析实验 (理解模型行为)
目标:
分析 RC 模型关键参数 (储备池大小谱半径正则化系数) 对降噪性能及动力学特性恢复的影响
并尝试从动力学系统角度解释参数变化的效果
实验设置:
- 固定其他参数仅改变一个参数值重复实验并记录各项指标
结果展示:
- 绘制参数与各指标 ( Lyapunov 指数估计误差) 之间的关系图
- 如有需要生成多参数组合的热图
"""
def load_data():
# TODO: 加载基础混沌系统数据
pass
def build_model(n_size, spectrum_radius, reg_coeff):
# TODO: 构造 RC 模型,使用参数 n_size, spectrum_radius, reg_coeff
pass
def run_experiment_for_params():
# TODO: 针对不同参数组合,依次构建模型、训练、评估并记录结果
# 如: n_size = [100, 200, 500, 1000]; spectrum_radius = [0.5, 0.8, 1.0, 1.2]; reg_coeff = [1e-5, 1e-4, 1e-3, 1e-2]
pass
def visualize_results():
# TODO: 根据记录结果绘制参数-指标的曲线图和热图
pass
if __name__ == "__main__":
# 参数敏感性实验主流程
load_data()
run_experiment_for_params()
visualize_results()

0
tools.py Normal file
View File