用途:对存在地理非平稳性的空间或时空数据进行回归建模,构建 GNNWR(地理神经网络加权回归)与 GTNNWR 模型,并生成可发表的系数图与诊断报告。
主要能力:通过 gnnwr 包的 models、datasets、utils 模块完成数据划分、训练与结果输出。init_dataset 支持 test_ratio、valid_ratio、x_column、y_column、spatial_column(必填地理坐标)、batch_size、process_fn(minmax_scale 或 standard_scale)、spatial_fun、Reference、sample_seed 等参数;时空模型需加 temp_column 并设 use_model="gtnnwr"。模型支持 use_gpu、optimizer(Adam、SGD、AdamW、Adagrad、RMSprop)、start_lr、drop_out、dense_layers、early_stop、batch_norm、use_ols。诊断含 R2、RMSE、AIC、AICc、F1_Global、F2_Global、F3_Local;N>10k 时 lite 模式仅保留 R²/RMSE。可视化提供 Folium 交互地图(display_dataset、coefs_heatmap、dot_map)及 Matplotlib、GeoPandas+Contextily 静态图。
使用方式:读取 CSV 后调用 datasets.init_dataset 划分数据,再实例化 models.GNNWR 或 GTNNWR 并 run(max_epoch, early_stop),用 reg_result(only_return=True) 取系数与预测,result() 看汇总。
限制与注意:遗漏 spatial_column 会退化为全局回归;N>10k 未设 knn_k 会因距离矩阵内存溢出,建议 knn_k=500–2000;start_lr 过高会致损失爆炸,建议 0.01 起;应设 early_stop=20–50 防过拟合;系数为归一化尺度,预测经反归一化;GTNNWR 缺 temp_column 会静默回退为 GNNWR。