✨ 长期致力于地球化学异常、信息提取、地质统计学、局部奇异性、异常概率图研究工作擅长数据搜集与处理、建模仿真、程序编写、仿真设计。✅ 专业定制毕设、代码✅如需沟通交流点击《获取方式》1多点地质统计学两步模拟算法建模地球化学元素分布提出一种改进的直接采样算法命名为MS-DS-2S。第一步以已知样本数据转换得到的栅格数据作为训练图像50×50网格采用核密度估计得到待模拟点取值的条件分布函数。第二步利用大尺度模式100×100作为训练图像通过模式相似性匹配距离阈值0.05从小尺度模拟中填充细节。在闽西南铁元素分布模拟中以169个实测样点为条件数据模拟生成200×200网格的浓度分布。变差函数分析表明两步模拟结果的块金效应仅为原始数据的60%且多重分形谱宽度与实测数据一致优于普通克里金插值。模拟实现了对未知点取值的100次实现验证点上的均方根预测误差为0.23原始含量对数化后。2基于模拟数据集的局部奇异性指数不确定性评价针对局部奇异性指数估计受未采样点不确定性影响的问题提出基于模拟实现的不确定性传播方法。对每个网格点利用100次模拟实现分别计算奇异性指数通过小波变换模极大值法尺度范围2,4,8,16得到奇异性指数分布直方图。定义异常概率为奇异性指数大于阈值如0.1的实现比例。在锌元素异常提取中传统插值方法得到的奇异性指数异常区域面积为78 km²而基于模拟的异常概率图显示高概率0.8区域仅42 km²有效剔除了虚假异常。经已知矿床点验证基于模拟的异常概率图的AUC面积为0.89高于传统方法的0.76。3因子分析与逻辑回归融合的多元素异常综合概率图基于铁、铜、铅、锌四种元素的模拟实现进行因子分析提取两个主因子铁铜因子方差贡献45%铅锌因子贡献32%。以主因子得分作为自变量已知矿床点25个作为因变量构建逻辑回归模型得到成矿有利度概率图。采用五折交叉验证模型的平均AUC为0.92。在闽西南地区预测的高概率区0.7总面积为115 km²其中包含已知矿床点18个新发现矿化点5个。使用ArcGIS兼容格式输出概率图指导野外查证。import numpy as np from scipy.stats import gaussian_kde from sklearn.decomposition import FactorAnalysis from sklearn.linear_model import LogisticRegression def two_step_direct_sampling(training_image, conditioning_data, target_grid, threshold0.05): # 两步直接采样算法简化 # 第一步: 粗尺度模拟 coarse_grid target_grid[::2, ::2] coarse_values np.zeros_like(coarse_grid, dtypefloat) for i in range(coarse_grid.shape[0]): for j in range(coarse_grid.shape[1]): # 核密度估计 kde gaussian_kde(conditioning_data.flatten()) coarse_values[i,j] kde.resample(1).item() # 第二步: 细尺度填充 (模式匹配) fine_values np.zeros_like(target_grid) fine_values[::2, ::2] coarse_values for i in range(target_grid.shape[0]): for j in range(target_grid.shape[1]): if fine_values[i,j] 0: # 查找最相似模式 (简化: 取邻域均值) neighbors fine_values[max(0,i-1):i2, max(0,j-1):j2] fine_values[i,j] np.mean(neighbors) if neighbors.size0 else 0 return fine_values def local_singularity_index(grid, scales[2,4,8,16]): # 通过小波模极大值估计奇异性指数 (简化用分形) from skimage.transform import downscale_local_mean singularities np.zeros_like(grid) for s in scales: down downscale_local_mean(grid, (s,s)) singularities (np.abs(down - grid[::s, ::s])) return singularities / len(scales) def anomaly_probability(realizations, threshold0.1): # 基于多个实现计算异常概率 prob np.mean(realizations threshold, axis0) return prob def logistic_fusion(factor_scores, known_deposits): model LogisticRegression() model.fit(factor_scores, known_deposits) prob_map model.predict_proba(factor_scores)[:,1] return prob_map if __name__ __main__: # 模拟训练图像 50x50 train_img np.random.rand(50,50) cond_data np.random.rand(10,10) target np.zeros((100,100)) sim two_step_direct_sampling(train_img, cond_data, target) print(模拟完成网格形状:, sim.shape) # 奇异性指数 sing local_singularity_index(sim) # 假设有 10 次实现 realizations_stack np.stack([sim 0.05*np.random.randn(*sim.shape) for _ in range(10)]) prob anomaly_probability(realizations_stack, threshold0.5) print(异常概率最大值:, np.max(prob)) # 逻辑回归融合示例 factor_scores_dummy np.random.randn(200, 2) # 两个因子 deposits_dummy np.random.randint(0,2,200) prob_map logistic_fusion(factor_scores_dummy, deposits_dummy) print(逻辑回归概率图前5个值:, prob_map[:5])
基于地质统计学模拟的地球化学异常信息提取方法解析【附仿真】
✨ 长期致力于地球化学异常、信息提取、地质统计学、局部奇异性、异常概率图研究工作擅长数据搜集与处理、建模仿真、程序编写、仿真设计。✅ 专业定制毕设、代码✅如需沟通交流点击《获取方式》1多点地质统计学两步模拟算法建模地球化学元素分布提出一种改进的直接采样算法命名为MS-DS-2S。第一步以已知样本数据转换得到的栅格数据作为训练图像50×50网格采用核密度估计得到待模拟点取值的条件分布函数。第二步利用大尺度模式100×100作为训练图像通过模式相似性匹配距离阈值0.05从小尺度模拟中填充细节。在闽西南铁元素分布模拟中以169个实测样点为条件数据模拟生成200×200网格的浓度分布。变差函数分析表明两步模拟结果的块金效应仅为原始数据的60%且多重分形谱宽度与实测数据一致优于普通克里金插值。模拟实现了对未知点取值的100次实现验证点上的均方根预测误差为0.23原始含量对数化后。2基于模拟数据集的局部奇异性指数不确定性评价针对局部奇异性指数估计受未采样点不确定性影响的问题提出基于模拟实现的不确定性传播方法。对每个网格点利用100次模拟实现分别计算奇异性指数通过小波变换模极大值法尺度范围2,4,8,16得到奇异性指数分布直方图。定义异常概率为奇异性指数大于阈值如0.1的实现比例。在锌元素异常提取中传统插值方法得到的奇异性指数异常区域面积为78 km²而基于模拟的异常概率图显示高概率0.8区域仅42 km²有效剔除了虚假异常。经已知矿床点验证基于模拟的异常概率图的AUC面积为0.89高于传统方法的0.76。3因子分析与逻辑回归融合的多元素异常综合概率图基于铁、铜、铅、锌四种元素的模拟实现进行因子分析提取两个主因子铁铜因子方差贡献45%铅锌因子贡献32%。以主因子得分作为自变量已知矿床点25个作为因变量构建逻辑回归模型得到成矿有利度概率图。采用五折交叉验证模型的平均AUC为0.92。在闽西南地区预测的高概率区0.7总面积为115 km²其中包含已知矿床点18个新发现矿化点5个。使用ArcGIS兼容格式输出概率图指导野外查证。import numpy as np from scipy.stats import gaussian_kde from sklearn.decomposition import FactorAnalysis from sklearn.linear_model import LogisticRegression def two_step_direct_sampling(training_image, conditioning_data, target_grid, threshold0.05): # 两步直接采样算法简化 # 第一步: 粗尺度模拟 coarse_grid target_grid[::2, ::2] coarse_values np.zeros_like(coarse_grid, dtypefloat) for i in range(coarse_grid.shape[0]): for j in range(coarse_grid.shape[1]): # 核密度估计 kde gaussian_kde(conditioning_data.flatten()) coarse_values[i,j] kde.resample(1).item() # 第二步: 细尺度填充 (模式匹配) fine_values np.zeros_like(target_grid) fine_values[::2, ::2] coarse_values for i in range(target_grid.shape[0]): for j in range(target_grid.shape[1]): if fine_values[i,j] 0: # 查找最相似模式 (简化: 取邻域均值) neighbors fine_values[max(0,i-1):i2, max(0,j-1):j2] fine_values[i,j] np.mean(neighbors) if neighbors.size0 else 0 return fine_values def local_singularity_index(grid, scales[2,4,8,16]): # 通过小波模极大值估计奇异性指数 (简化用分形) from skimage.transform import downscale_local_mean singularities np.zeros_like(grid) for s in scales: down downscale_local_mean(grid, (s,s)) singularities (np.abs(down - grid[::s, ::s])) return singularities / len(scales) def anomaly_probability(realizations, threshold0.1): # 基于多个实现计算异常概率 prob np.mean(realizations threshold, axis0) return prob def logistic_fusion(factor_scores, known_deposits): model LogisticRegression() model.fit(factor_scores, known_deposits) prob_map model.predict_proba(factor_scores)[:,1] return prob_map if __name__ __main__: # 模拟训练图像 50x50 train_img np.random.rand(50,50) cond_data np.random.rand(10,10) target np.zeros((100,100)) sim two_step_direct_sampling(train_img, cond_data, target) print(模拟完成网格形状:, sim.shape) # 奇异性指数 sing local_singularity_index(sim) # 假设有 10 次实现 realizations_stack np.stack([sim 0.05*np.random.randn(*sim.shape) for _ in range(10)]) prob anomaly_probability(realizations_stack, threshold0.5) print(异常概率最大值:, np.max(prob)) # 逻辑回归融合示例 factor_scores_dummy np.random.randn(200, 2) # 两个因子 deposits_dummy np.random.randint(0,2,200) prob_map logistic_fusion(factor_scores_dummy, deposits_dummy) print(逻辑回归概率图前5个值:, prob_map[:5])