# 智能双色球预测分析工具 **Repository Path**: SuvanSo/SSQPredictor ## Basic Information - **Project Name**: 智能双色球预测分析工具 - **Description**: No description available - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-06 - **Last Updated**: 2025-11-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能双色球预测分析工具 #### 介绍 一、工具概述 智能双色球预测分析工具是一款基于数据挖掘、分形几何、机器学习技术的智能化预测系统,通过全流程自动化处理从数据采集到号码推荐的完整链路,结合多模型融合与蒙特卡罗模拟验证,为双色球红球预测提供数据支撑。工具核心优势在于 “全流程自动化”“多维度特征工程”“多模型融合降噪”“概率化结果输出”,避免单一模型的局限性,提升预测结果的稳定性与参考价值。 二、核心技术流程(全链路自动化) 工具的核心逻辑围绕 “数据 - 特征 - 模型 - 预测” 四大环节展开,每个环节均实现自动化处理,无需人工干预,具体流程如下: (一)数据采集与预处理:筑牢预测基础 1. 自动化数据爬取 内置爬虫模块,定向爬取官方发布的最近 89 期双色球历史开奖数据(含红球 1-33 号码、蓝球 1-16 号码、开奖日期等核心信息),确保数据来源的权威性与准确性。 支持数据自动去重、缺失值填充:若某期数据存在缺失或异常,工具将通过相邻期数据插值补全,同时剔除重复记录,保证数据集的完整性。 2. 01 序列化转换 针对双色球 “开奖号码为离散类别” 的特性,将历史开奖数据进行 01 序列化处理:对于每个红球号码(r1-r33),若该号码在某期开奖中出现,标记为 “1”,未出现则标记为 “0”。 最终生成 33 个独立的二分类标签(r1_next-r33_next),分别对应 “下一期该号码是否出现” 的预测目标,将预测问题转化为可量化的机器学习任务。 (二)多维度特征工程:挖掘数据潜在规律 特征工程是工具的核心竞争力,通过 “分形特征 + 30 + 基础特征” 的多维度组合,全面捕捉彩票数据的潜在分布规律与关联模式: 1. 分形特征计算:捕捉数据非线性规律 基于分形几何理论,针对红球开奖序列的 “混沌特性”,计算 3 类核心分形特征,挖掘数据的非线性关联: 分形维度(Fractal Dimension):量化开奖序列的复杂程度与填充密度,反映号码分布的不规则性; 分形拟合优度(Fractal R²):评估开奖序列与分形模型的拟合程度,筛选具有统计意义的规律; 盒计数相关特征(Average Box Count、Scale Span 等):通过不同尺度下的盒计数分析,捕捉号码分布的自相似性。 最终输出 13 个分形特征变量,覆盖不同尺度下的序列规律。 2. 30 + 基础特征计算:覆盖传统统计维度 围绕历史开奖数据,提取 30 余种基础统计特征,覆盖 “频率、遗漏、分布、 volatility” 四大维度: 频率特征:号码最近 N 期出现次数、热号 / 冷号判定(如最近 13 期 / 34 期 / 55 期出现频率); 遗漏特征:号码当前连续未出现期数、历史最大遗漏期数、平均遗漏期数; 分布特征:红球区间分布占比(如前 11 位、中间 11 位、后 11 位号码占比)、奇偶比、大小比; 波动特征:号码出现概率的波动率、相邻期号码变化幅度、区间转移概率等。 30 + 基础特征与分形特征形成互补,既覆盖传统统计规律,又捕捉非线性关联。 3. 特征融合与筛选 特征合并:将分形特征(13 个)与 30 + 基础特征、原始红球号码特征整合,形成初始特征集(共 101 个特征变量); 特征筛选:通过方差分析(ANOVA)、相关性检验剔除冗余特征(如相关系数 > 0.9 的高度冗余特征),保留对预测目标贡献度最高的有效特征,避免维度灾难,提升模型训练效率。 (三)多模型训练:构建稳健预测基础 工具采用 5 个经典机器学习模型进行独立训练,覆盖不同算法逻辑,为后续模型融合提供多样化基础模型: 1. 5 个基础模型介绍 模型类型 核心原理 优势与适配场景 XGBoost(极端梯度提升树) 基于梯度提升框架,通过集成多棵决策树降低过拟合,捕捉特征非线性交互 对高维特征鲁棒性强,擅长挖掘特征间的复杂关联 LightGBM(轻量梯度提升树) 基于直方图优化的梯度提升树,训练速度快、内存占用低 适配大规模特征,兼顾效率与预测精度 Random Forest(随机森林) 集成多棵独立决策树,通过投票机制降低单一模型方差 抗过拟合能力强,对异常值不敏感 Logistic Regression(逻辑回归) 基于线性回归的二分类模型,输出概率值,可解释性强 作为基准模型,平衡复杂模型的过拟合风险 LSTM(长短期记忆网络) 深度学习模型,擅长捕捉序列数据的时间依赖关系 适配彩票数据的时序特性,挖掘长期历史规律 2. 模型训练与优化 数据划分:采用 “最近 89 期数据” 中的前 71 期作为训练集(80%),后 18 期作为验证集(20%),确保训练数据的时效性; 超参数优化:每个模型通过贝叶斯优化算法搜索最优超参数(如 XGBoost 的学习率、树深度,LSTM 的隐藏层维度、dropout 比例等),避免人工调参的主观性; 类别平衡处理:针对双色球 “中奖号码稀疏” 导致的类别不平衡问题,采用 SMOTE 过采样与类别权重调整结合的方式,提升模型对 “1 类(号码出现)” 的识别能力。 (四)模型融合:生成最终预测模型 为解决单一模型的局限性,工具采用 “Stacking(堆叠)融合” 策略,将 5 个基础模型的输出作为元特征,训练最终的融合模型,实现 “优势互补、降噪提效”: 1. 融合逻辑 第一层(基础模型层):5 个基础模型分别对 33 个红球标签进行预测,输出 “号码出现概率”(0-1 之间的数值); 第二层(元模型层):将 5 个基础模型的预测概率作为 “元特征”,拼接成新的特征矩阵,训练 LightGBM 作为元模型; 模型保存:最终生成 33 个独立的融合模型(对应 r1_next-r33_next),每个模型专门预测对应号码下一期是否出现,确保预测的针对性。 2. 融合优势 降低单一模型的过拟合风险:通过多模型投票式融合,过滤个别模型的异常预测; 提升预测稳定性:不同模型捕捉不同维度的规律,融合后结果更具统计意义; 概率化输出:最终输出每个号码的出现概率,而非绝对化的 “出现 / 不出现”,为后续筛选提供灵活空间。 三、预测流程与结果输出 基于训练完成的融合模型,工具可快速完成一次完整预测,具体步骤如下: (一)预测数据预处理 爬取最新一期开奖数据(第 89 期),自动完成 01 序列化、分形特征计算、30 + 基础特征计算、特征融合,生成与训练数据格式一致的 101 维特征向量。 (二)融合模型预测 加载 33 个训练好的融合模型,分别对 “r1_next-r33_next” 33 个标签进行预测,输出每个号码下一期出现的概率值(0-1)。 (三)10 万次蒙特卡罗模拟验证 为评估预测结果的统计显著性,工具引入蒙特卡罗模拟机制: 基于融合模型输出的概率分布,进行 10 万次随机抽样预测,每次抽样按 “概率权重” 选择 7 个号码(模拟双色球红球开奖逻辑); 统计 10 万次模拟中每个号码的选中次数与选中占比,筛选出 “高频出现且概率稳定” 的号码,降低随机波动带来的误差。 (四)最终号码筛选 结合 “融合模型概率” 与 “蒙特卡罗模拟结果”,采用双重筛选逻辑: 第一轮筛选:保留融合模型预测概率≥0.25 的号码(覆盖高、中、低概率区间,避免遗漏潜力号码); 第二轮筛选:结合 10 万次蒙特卡罗模拟的选中占比,优先选择 “概率高且模拟选中频率高” 的号码; 最终输出:筛选出 6 个号码作为最终预测结果,并标注每个号码的 “出现概率”“概率等级(高 / 中 / 低)”“蒙特卡罗选中占比”,同时输出整体置信度(所有推荐号码的平均概率),为用户提供完整的参考信息。 四、工具核心优势 全流程自动化:从数据爬取、特征计算、模型训练到预测输出,全程无需人工干预,一键启动即可完成所有操作; 多维度特征工程:融合分形特征与 30 + 基础特征,既捕捉非线性规律,又覆盖传统统计维度,特征维度全面; 多模型融合降噪:5 个基础模型 + Stacking 融合,避免单一模型的局限性,提升预测结果的稳定性; 概率化与模拟验证:输出概率化结果而非绝对化结论,结合 10 万次蒙特卡罗模拟,增强结果的统计参考价值; 可复现性强:所有流程均基于固定算法与参数,输入相同数据可得到一致结果,便于后续优化与验证。 五、使用场景与注意事项 (一)使用场景 为双色球爱好者提供数据化参考,辅助号码选择(非官方开奖预测,仅作娱乐参考); 作为机器学习、特征工程、模型融合的实践案例,用于技术学习与研究。 (二)注意事项 彩票开奖本质是随机事件,工具的预测结果基于历史数据的统计规律,不保证中奖,请勿过度投入资金; 模型以工具地址: #### 软件架构 软件架构说明 程序采用: 训练阶段: 1、数据采集->序列化->特征工程->特征融合->5模型独立训练->模型融合->最终训练结果 2、数据采集->序列化->特征工程->特征融合->用融合模型预测->蒙特卡罗预测->输出结果 最终结果如下: ============================================================ 排名 红球编号 选中次数 选中占比 -------------------------------------------------- 1 r33 3960 0.0660 2 r15 3549 0.0592 3 r16 3372 0.0562 4 r6 3198 0.0533 5 r20 3186 0.0531 6 r26 3090 0.0515 7 r14 3013 0.0502 -------------------------------------------------- 说明:选中占比 = 该号码被选中次数 / 总选中次数(60000次) ============================================================ ================================================================================ 预测全流程完成! 最终摘要: 预测期数: 1 - 0 90 推荐红球(按概率降序): r15,r16,r12,r21,r2,r8 整体置信度: 0.6809 结果文件保存路径: /opt/coding/500w/03.ssq_fractal/predict_result ================================================================================ #### 环境信息 Python 3.13.7 joblib 1.5.2 optuna 4.5.0 PyTorch 2.8.0+cu128 LightGBM 4.6.0 XGBoost 3.1.1 XGBoost-CUDA支持 是 scikit-learn 1.7.2 #### 使用说明 1、训练 python main.py --mode train 2、预测 python main.py --mode predict