Skip to content

Latest commit

 

History

History
245 lines (161 loc) · 17.1 KB

README.ja.md

File metadata and controls

245 lines (161 loc) · 17.1 KB

GreyTheory

English | 繁體中文 | 日本語

Python 3.11+ MIT License CI

GreyTheory — Grey models, GRA, and PCA

Python で灰色予測・特徴比較・PCA を使う。

Documentation · クイックスタート · 操作画面 · ベンチマーク

時系列を予測し、目標と関連する特徴を比較し、光スペクトルや工程データを整理できます。Python から使うか、付属の HTML 画面で試せます。

できること

  • Grey + PCA の統合分析:GreyPCA は 6 種類の PCA と GRA による主成分選択を組み合わせます。PCA で試料間の違いを整理し、参照する目標があれば GRA で関連する成分を評価・選択します。スペクトル・画像・軌跡には、PCA の前に Grey 窓特徴を加えて局所的な変化も扱えます。
  • 予測:GM11 と二段階 Convolution。有序の多変量データは GM0N/GM1N。
  • 比較:GRA 特徴順位と、望大/望小/目標値を指定する品質評価。
  • 特徴の整理:6 種類の PCA、PoissonPCA、Grey 窓、画像、多次元軌跡。

クイックスタート

Python 3.11 以上が必要です。ソースをダウンロードまたは clone して実行します。

python3 run.py

Tip

初回は .venv と依存パッケージを準備します。Windows は python3 を python に置き換えてください。

Python から使う

自分のプログラムの Python 環境にインストールします。

python -m pip install .
from greytheory import GM11

series = [223.3, 227.3, 230.5, 238.1, 242.9, 251.1]
model = GM11(background_mode="corrected").fit(series)
print(model.predict(2))

従来の model.forecast(2) と model.forecast_convolution(1, 4) も利用できます。次の二点の数値だけなら predict(2) を使います。forecast(2) は保存データを再計算し、予測期間の設定を更新します。

PCA を選ぶ

GreyPCA の method を指定します。画面でも同じ方法を選べます。

from greytheory.analysis import GreyPCA

features = [[1.0, 2.0, 0.8], [1.5, 2.4, 1.2],
            [2.0, 3.1, 1.1], [2.5, 3.4, 1.8]]
model = GreyPCA(n_components=2, method="pca", standardize=True)
components = model.fit_transform(features)
print(components)
方法 試す場面
"pca" 標準の線形投影。まずはこれから。
"sparse" 疎な成分係数を使いたいとき。
"kernel" 非線形の構造を調べるとき。
"robust" PCP の低ランク分解後に投影。
"robust_sparse" 頑健性と疎な符号化を組み合わせる。
"adv" 指定した摂動条件での投影を調べる。

非負の元計数には PoissonPCA もあります。パラメーター、成分選択、GRA と PCA の順位の違いは詳細ガイドを参照してください。 → GreyPCA

操作画面で試す

workbench は GreyTheory の分析画面を開きます。スペクトル、DOE データ、筆跡画像を読み込み、手法とパラメーターを選び、グラフや特徴の順位を確認できます。

python3 run.py workbench

初回は .venv を作成し、分析・画面用の依存パッケージをインストールします。次回からは同じ環境を使います。分析はローカルで実行され、サーバーは不要です。

付属 HTML を直接開くと、事前計算した結果のオフラインプレビューを表示します。新しい設定での計算には上記コマンドか要求/結果 JSON 交換を使います。

HTML · スクリーンショット付きの操作説明

右上の言語選択で English・繁體中文・日本語を切り替えます。入力、設定、結果は保持されます。

PVD DOE — GreyTheory workbench

PVD の模擬実験 15 件。左は試料差の投影、右は目標に対する工程入力の比較です。

デモの入力と結果は data/demo/ にまとめています。データ選択ページでファイルと操作手順を確認できます。

実演では python3 run.py workbench で起動し、応用ラボの作品の領域差を選びます。シード 7、PCA、成分数 3、分位点 0.95、強度 0.6 で実行します。誤差マップを、意図的に変更した 18 位置と照合します。分位点を 0.99 にして再実行し、次に 0.95 に戻して強度を 0.2 に下げます。シードを固定し、各結果 JSON を保存します。操作ガイドにも手順があります。

Artwork differences

合成スペクトルマップの比較で、作品写真の分析ではありません。このラボは実マップ対の読み込みに未対応です。検出領域は調査の手掛かりで、補彩や真贋の証明にはなりません。

AI 絹画画像 — 応用ラボの作品情境で入力を AI 絹画画像 にし、初期設定で実行します。PNG 2 枚 → 区画特徴 → Grey 窓 → GreyPCA の計算です。枠を切り替えて比較し、分位点 0.99 でも再実行します。

画像・計算 CSV / JSON・事例の出典 · python3 run.py artwork

対話式の専門確認と実験報告を開く — 対応画像は確認順序を付け、スペクトルは独立した正常校準と実物調査を組み合わせます。同一 PNG の負の対照が、従来の再構成誤差数は変更数ではないことを示します。領域別の観察・仮説・次の調査は公開資料による模擬判読で、専門家の実審査ではありません。

その他のデモ

配送、ドライバー配車、美術品の光スペクトル差、注文予測、多次元軌跡、光スペクトル・半導体ツールを試せます。画像ページは AI 筆跡や自分の画像も比較できます。

スクリーンショット付きの操作説明 · PVD CSV · CVD CSV

Note

デモは合成データで、実務精度を示しません。配送と配車は専用の最適化を使い、Grey は選好を評価します。画像距離は作者を特定せず、美術品の異常は調査の手掛かりです。

順位安定性と最適化

GUI の操作と画面

analyze_features() で順位安定性・GreyPCA 回帰探索・任意の正常データ校正をまとめて実行できます。choose_options() は名前付き多目標候補を比較します。

import numpy as np
from greytheory import analyze_features

features = np.random.default_rng(7).normal(size=(120, 4))
target = 2 * features[:60, 0] - features[:60, 1]
result = analyze_features(features[:60], target, normal_data=features[60:90])
predictions = result.predict(features[90:])

簡単な関数

GRA 順位の安定性、独立した正常データによるしきい値校正、GreyPCA 回帰設定の探索、候補内のパレート前線を利用できます。

python3 run.py optimize

四段階の Python ガイド。合成例はリポジトリで実行します。探索は有限無作為試行と分割内キャッシュを使います。検証スコアは調整用で、独立テスト精度ではありません。パレート結果は入力候補内に限られます。

Research models

等間隔予測と品質回帰の研究版:RL-FGMの核、GINN/FGINN工学版、独自設計Grey–Fuzzy GPRを利用できます。

from greytheory import forecast_series

values = [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]
future = forecast_series(values, steps=3, method="rlfgm")
print(future)

GreyPCA + research models

四つのモデルで pca、sparse、kernel、robust、robust_sparse、adv を併用できます。予測入力は時点×チャネル、出力は元の列です。method で GINN/FGINN に変更します。方式別設定は pca_params={"method_params": {...}}。

import numpy as np
from greytheory import forecast_series, predict_quality

time = np.arange(24.)
history = np.column_stack([20 + time + np.sin(time), 40 + 0.3*time + np.cos(time)])
future = forecast_series(history, steps=3, method="rlfgm",
                         pca_method="adv", n_components=2, order=1)

random = np.random.default_rng(7)
features = random.normal(size=(60, 4))
quality = 100 + 5*features[:, 0] + 2*features[:, 1]**2
result = predict_quality(features[:40], quality[:40], features[40:],
                         pca_method="pca", n_components=2)
print(future, result["prediction"])

GUI は研究モデル → PCA を併用:on。予測成分は学習データから決めた正の平行移動を使い、灰色モデルの結果に影響します。品質信頼度は保持成分だけです。

python3 run.py research

用法・差分・実測上の制限

Documentation

ガイド 内容
スクリーンショット付きの操作説明 インストール、プレビュー、即時計算、ファイル交換
GreyPCA 6 種類の PCA とパラメーター、成分選択
Images / trajectories 画像の読み込み、特徴、比較
Bruker SPX/BCF と検出器の校正
使い方と API 予測、GRA、品質、バッチ、参考文献

開発とテスト

python -m pip install -e . -r requirements-dev.txt
python -m pytest -q
python -m build

Benchmarks · Issues

ライセンス

MIT · Third-party notices

非公式実装と権利に関する声明

GreyTheory の論文を参考に開発したアルゴリズムは**非公式実装(Unofficial implementations)**であり、原著者や所属機関との提携関係はなく、推奨も受けていません。参照した研究とアルゴリズムの貢献は原研究者に帰属します。

実装がご自身の特許、著作権その他の権利に関わるとお考えの場合は、ilovekalvar@gmail.com へ、権利の根拠と対象のアルゴリズムまたはファイルをお知らせください。特許については特許番号と関連請求項をご提示ください。

通知を確認し、必要に応じて引用の修正、アルゴリズムの変更、利用停止または公開終了を行います。通知の受領や予防措置は侵害を認めるものではありません。オープンソースにおいても、参照した研究の著者の貢献を尊重します。

参考文献と実装

Grey と PCA の主要文献

Grey、PCA、実装済みのロバスト手法の主要文献です。スペクトル・工程分析の出典は詳細ガイドを参照してください。

  1. Deng, J. L. (1982). Control problems of grey systems. Systems & Control Letters, 1(5), 288–294.
  2. Liu, S. & Lin, Y. (2011). Grey Systems: Theory and Applications. Springer. Grey modelling and relational analysis.
  3. Kayacan, E., Ulutas, B. & Kaynak, O. (2010). Grey system theory-based models in time series prediction. Expert Systems with Applications, 37(2), 1784–1789.
  4. Jolliffe, I. T. & Cadima, J. (2016). Principal component analysis: a review and recent developments. Philosophical Transactions A, 374, 20150202.
  5. Candès, E. J., Li, X., Ma, Y. & Wright, J. (2011). Robust Principal Component Analysis?. Journal of the ACM, 58(3), Article 11. Principal Component Pursuit.
  6. Lin, Z., Chen, M. & Ma, Y. (2010). The Augmented Lagrange Multiplier Method for Exact Recovery of Corrupted Low-Rank Matrices. Inexact ALM solver for PCP.
  7. Erichson, N. B. et al. (2020). Sparse Principal Component Analysis via Variable Projection, author manuscript. SIAM Journal on Applied Mathematics, 80(2), 977–1002. Robust sparse model: equation (17), Algorithm 2.
  8. Vävinggren, D. et al. (2026). A Robust Optimization Approach to Sparse Principal Component Analysis. AdvPCA: Algorithms 1–2 and Appendix A.3.

研究モデルの出典と実装対応

以下の論文のモデル定義と着想は原著者の成果です。PCA 接続・固定成分オフセット・簡易関数は本プロジェクトの統合作業であり、論文の提案として扱いません。