Dataset for Immutable AI: A Blockchain-Based MLOps Framework for Auditable Solar Forecasting and Anomaly Logging
收藏资源简介:
This dataset provides the reproducible software artifacts accompanying the paper "Immutable AI: A Blockchain-Based MLOps Framework for Auditable Solar Forecasting and Anomaly Logging". The dataset includes: solar_model_v1.h5 — Pre-trained LSTM neural network (Keras/TensorFlow) for solar power forecasting, using a lookback window of 12 time-steps (one hour at 5-minute resolution). scaler.pkl — Fitted scikit-learn MinMaxScaler used to normalise the target variable (productPower_value) during training. Required to convert model predictions back to physical units (kW). SolarAudit.sol — Solidity smart contract deployed on the Ethereum Sepolia testnet (address: 0xdaAc90098516B60D5563F548f26757F15ebf7298). It stores immutable on-chain audit records containing: plant ID, timestamp, model hash (SHA-256), input-data hash (SHA-256), predicted power value, and an anomaly flag. It also exposes a verifyPrediction function for forensic verification. bridge.py — End-to-end Python pipeline that loads the LSTM model, runs inference on simulated sensor data, computes SHA-256 integrity hashes of the model and input, and submits an audit transaction to the smart contract. This script implements the normal-operation scenario. bridge_anomaly.py — Variant of bridge.py that simulates a critical anomaly scenario by injecting near-zero input values, triggering the anomaly detection threshold (< 0.5 kW) and logging an anomaly-flagged record on-chain. cleaner.py — Data preprocessing script that loads raw solar-plant telemetry, removes database-internal metadata columns, parses timestamps, converts sensor readings to numeric types, and outputs a clean time-sorted DataFrame. run_baselines.py — Baseline comparison script that reproduces the experimental results table from the paper. It evaluates seven models — Persistence (naive), Seasonal Naive (24 h lag), ARIMA(2,1,2), Random Forest, LightGBM, GRU, and the pre-trained LSTM — reporting RMSE (kW), MAE (kW), and sMAPE (%) for each. README.md — Usage instructions, dependency list, and step-by-step guide to run each artifact. Note on data availability: The raw solar-plant telemetry CSV used for training and evaluation belongs to a private energy company and cannot be redistributed. The preprocessing script (cleaner.py) and baseline script (run_baselines.py) can be adapted to work with any solar generation dataset containing the columns plantId, productPower_time, and productPower_value. The remaining artifacts (model, scaler, smart contract, and bridge scripts) are fully functional and self-contained.



