はじめに
配合成分から圧縮強度を予測するモデルを構築し、目標強度を満たす配合候補を事前にスクリーニングする分析を試みた。
材料開発における試作コスト削減を想定したユースケースである。
使用データはUCIのコンクリート圧縮強度データセット(1,030件、8特徴量)。
本分析のスコープ
- 実施:配合成分と強度の関係をモデル化、目標強度範囲へのフィルタリング、既存DBとの距離による新規性チェック
- 対象外:探索空間の制約設計(W/B比等はAbrams則を参照したが簡略化)、試作優先度の最終決定、実測値による検証
EDA
各特徴量と圧縮強度の散布図を確認した。
いずれの特徴量でも強度が満遍なく散らばっており、単体特徴量による分離は困難と判断した。
ベースモデル(LightGBM、元の8変数のみ)のCV残差を確認したところ、誤差の大きいサンプルが特定の値域に集中しておらず、単体特徴量でのFEは効果が見込めないと判断した。
特徴量エンジニアリング
回帰問題かつ特徴量間の独立性が低い配合データという性質上、可視化による根拠付けに原理的限界があるため、以下の方針で総当たりの特徴量生成を行いLGBMに判断を委ねた。
- 2項・3項交差:全特徴量の組み合わせを総当たりで生成
- 全ペア比率:全特徴量ペアの比率を双方向で生成
- 水結合材比(W/B比):Abrams則に基づき別途追加
- KNN特徴量:近傍50サンプルの強度値の平均・標準偏差を追加
モデル評価
| RMSE mean | RMSE std | |
|---|---|---|
| ベースモデル | 5.33 | 0.73 |
| 改善後モデル | 4.06 | 0.50 |
FEによりRMSEが約1.3改善(改善率約24%)。
配合候補のスクリーニング
W/B比から水量を逆算する形で配合候補を体系的に生成し、モデルで強度を予測。目標強度範囲(40〜50 MPa)を満たす候補を抽出した。
全成分を網羅的に探索しようとすると組み合わせ爆発が生じる(8成分1%刻みで約10^16通り)ため、重要成分に絞ったグリッドサーチと一部成分の固定・ランダムサンプリングで簡略化した。
DBチェック
スクリーニング通過候補に対し、訓練データとのKNN距離(K=5)を算出。訓練データ内の近傍距離分布の90パーセンタイル(1.0796)を閾値として、既存DBにない候補を抽出した。
DBにない候補数:3,188件
距離が近い候補は予測信頼性が比較的高く、距離が遠い候補は新規性が高い。
距離が近い上位10件(予測信頼性が高い候補)
| Cement | BFS | FlyAsh | Water | Super | Age | pred_strength | knn_dist |
|---|---|---|---|---|---|---|---|
| 142.1 | 58.1 | 144.1 | 179.4 | 6.7 | 91 | 41.9 | 1.083 |
| 194.7 | 203.7 | 110.6 | 176.8 | 10.0 | 28 | 40.1 | 1.084 |
| 194.7 | 252.7 | 7.2 | 208.2 | 1.1 | 91 | 41.6 | 1.085 |
| 189.5 | 221.9 | 24.8 | 179.0 | 7.8 | 28 | 41.0 | 1.085 |
| 163.2 | 203.5 | 42.4 | 193.8 | 2.2 | 91 | 45.3 | 1.085 |
| 200.0 | 55.5 | 110.6 | 161.9 | 6.7 | 91 | 49.3 | 1.086 |
| 152.6 | 64.5 | 148.3 | 161.6 | 3.3 | 91 | 45.3 | 1.086 |
| 173.7 | 50.3 | 107.9 | 162.5 | 8.9 | 91 | 49.1 | 1.086 |
| 131.6 | 51.5 | 126.9 | 156.6 | 7.8 | 91 | 48.2 | 1.091 |
| 131.6 | 212.4 | 2.1 | 180.4 | 1.1 | 91 | 41.2 | 1.094 |
距離が遠い上位10件(新規性が高い候補)
| Cement | BFS | FlyAsh | Water | Super | Age | pred_strength | knn_dist |
|---|---|---|---|---|---|---|---|
| 163.2 | 349.5 | 187.1 | 408.8 | 0.0 | 365 | 42.0 | 9.413 |
| 163.2 | 335.9 | 198.1 | 418.3 | 3.3 | 91 | 49.8 | 9.155 |
| 194.7 | 336.9 | 169.2 | 420.5 | 8.9 | 28 | 45.0 | 9.146 |
| 189.5 | 349.9 | 156.4 | 417.4 | 4.4 | 28 | 43.6 | 9.029 |
| 194.7 | 335.9 | 197.8 | 414.1 | 7.8 | 28 | 46.4 | 8.910 |
| 200.0 | 346.3 | 161.5 | 413.5 | 5.6 | 28 | 45.0 | 8.850 |
| 163.2 | 282.5 | 198.7 | 386.6 | 5.6 | 365 | 48.3 | 8.477 |
| 168.4 | 322.9 | 181.9 | 404.0 | 3.3 | 91 | 49.4 | 8.470 |
| 194.7 | 289.6 | 198.7 | 399.0 | 1.1 | 91 | 42.6 | 8.234 |
| 157.9 | 296.9 | 191.1 | 377.3 | 8.9 | 365 | 48.6 | 8.163 |
課題
- 探索空間の設計にはドメイン知識が必要
- 既存DB存在チェックの判定基準の精緻化
- 抽出候補の試作優先度決定基準の設計
詳細はGitHubを参照。
https://github.com/do6171129-cell/FormuSearch

