项目背景

GPS 坐标时间序列分析是大地测量和形变监测领域的重要技术。通过分析 GPS 连续观测站的位移数据,可以监测地壳运动、地面沉降、建筑物变形等现象。本项目开发了一套完整的 GPS 位移数据处理与分析系统,实现从原始数据到预测结果的全流程自动化分析。

功能特点

系统架构

系统采用模块化设计,主要包含以下核心模块:

主程序main_app.py — GUI 主界面,包含 5 个功能选项卡
数据输入data_input.py — GPS 数据文件解析模块,支持多种格式
ARIMA 分析arima_analysis.py — ARIMA 时间序列分析核心算法
精度验证accuracy_validation.py — 独立的精度验证与评估模块

技术细节

开发语言Python 3
GUI 框架tkinter + ttk
时间序列statsmodels (ARIMA, ADF, KPSS)
自动选参pmdarima (auto_arima)
数据处理pandas + numpy
机器学习scikit-learn (线性回归、精度指标)
可视化matplotlib (内嵌 tkinter)
统计检验scipy (Shapiro-Wilk 正态性检验)

分析流程

精度验证方法

采用滚动预测验证法,将数据集最后 15 天作为验证集:

界面截图

视频演示

核心代码片段

ARIMA 自动选参与预测:

# 自动选择最优 ARIMA 参数 from pmdarima import auto_arima auto_model = auto_arima(train_series, seasonal=False, d=None, max_p=5, max_q=5, max_d=2, trace=True, error_action='ignore', suppress_warnings=True, stepwise=False) p, d, q = auto_model.order # 拟合模型并预测 from statsmodels.tsa.arima.model import ARIMA model = ARIMA(train_series, order=(p, d, q)) fitted = model.fit() forecast = fitted.forecast(steps=30) conf_int = fitted.get_forecast(steps=30).conf_int()

项目成果