TimesFM 3.0(Googleの時系列予測基盤モデル。追加学習なしで予測する。3.0になって多変量、共変量が入れられるようになった)をPythonで使ってSパラメータ(バンドパスフィルタ)の高周波部分を予測する。共変量として角度を入れると2.5のときよりだいぶよくなる。
以前こういうことをやった。
TimesFM 2.5(Googleの時系列予測基盤モデル。追加学習なしで予測する)をPythonで使ってSパラメータ(伝送線路、バンドパスフィルタ)の高周波部分を予測する。
これはこれでまあまあだが、バージョンが3.0になって多変量と共変量が入れられるようになっていた。ただAPIの文法が全く変わっているのはなんとかしてほしかった…(ずっと簡単になったので文句は言うまい)
https://github.com/google-research/timesfm
早速試してみよう。共変量は過去のみと過去と未来を入れられる。ちょっとずるいような気もするが共変量はSパラの角度にして、角度のみ過去と未来をいれてみよう。コードはこちら。
import torch
import numpy as np
from timesfm3 import TimesFM3Evaluator, ModelConfig
import pandas as pd
import skrf as rf
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'Noto Sans CJK JP'
# Initialize TimesFM 3.0
config = ModelConfig(
checkpoint_path="google/timesfm-3.0-pytorch",
per_core_batch_size=16,
device="cuda"
)
forecaster = TimesFM3Evaluator(config)
ntwk = rf.Network("dea165550bt-2322a1-h.s2p")
s = ntwk.s
f = ntwk.f
s11db = 10*np.log10(np.abs(s[:, 0, 0])**2)
s21db = 10*np.log10(np.abs(s[:, 1, 0])**2)
s11phase = np.angle(s[:, 0, 0], deg = True)
s21phase = np.angle(s[:, 1, 0], deg = True)
n = 100
s11dbtrain = s11db[:-n]
s21dbtrain = s21db[:-n]
outputs = list(
forecaster.predict_batch(
contexts=[s11dbtrain, s21dbtrain],
horizon=n,
past_only_covariates=[s11phase[:-n],s21phase[:-n]],
past_future_covariates=[s11phase, s21phase],
return_quantiles=True,
use_symmetric_averaging=False,
)
)
fig = plt.figure(figsize=(12, 4))
plt.subplot(1, 2, 1)
plt.plot(f, s11db, label="真値")
plt.plot(f[-n:], outputs[0].forecast, label="予測値")
plt.fill_between(f[-n:], outputs[0].quantiles[:, 0], outputs[0].quantiles[:, 8], alpha=0.2, label="10-90 パーセンタイル")
plt.legend()
plt.xlabel("f[GHz]")
plt.ylabel("S11[dB]")
plt.title("S11 forecast")
plt.subplot(1, 2, 2)
plt.plot(f, s21db, label="真値")
plt.plot(f[-n:], outputs[1].forecast, label="予測値")
plt.fill_between(f[-n:], outputs[1].quantiles[:, 0], outputs[1].quantiles[:, 8], alpha=0.2, label="10-90 パーセンタイル")
plt.legend()
plt.xlabel("f[GHz]")
plt.ylabel("S21[dB]")
plt.title("S21 forecast")
|
予測結果。
そうとういい感じで予測できている。まあ角度は未来も入れているのでずるいかも。
なので未来は入れないようにするとこちら。
まあでも2.5のときより良くなっている。
« Go言語の数値計算ライブラリGonumを使う(2)特異値分解(SVD)、主成分分析(PCA)を計算してみる。 | トップページ | 特別展 ゴールドマン コレクション 河鍋暁斎の世界@神戸市立博物館を観てきた。いろいろなジャンルをものすごい画力で描いていて圧巻。でも笑えるものや風刺もたくさんある。百鬼夜行がよかった。行った日は全作品撮影OKな日でした。 »
「パソコン・インターネット」カテゴリの記事
- RF Weekly Digest 2026/10/5-10/11 (Codex(GPT-6 Astra)によるRF情報週刊まとめ)(2026.10.11)
- Excelで1つのセルに複数の値を入れられるリストやセル内配列、ネストした配列という新機能が使えるようになっていた。例にあったデータ数が行ごとに違うときに使うのがよさそうなのでネイピア数の級数での計算をやってみた。(2026.10.07)
- JevのAPI互換のtev1(Ollama経由で利用)を使って、バンドパスフィルタの測定Sパラメータを読み込みスペックと比較して、単にG/NG判定だけでなく重大度や容認度をスコアとして出してくれるアプリrf_jev_judge.pyを作った。(2026.10.05)
「学問・資格」カテゴリの記事
- RF Weekly Digest 2026/10/5-10/11 (Codex(GPT-6 Astra)によるRF情報週刊まとめ)(2026.10.11)
- 高周波・RFニュース 2026年10月9日 IEEE Microwave Magazineにリコンフィギュラブルフロントエンド記事、Keysightがレイヤー1オートメーションスイッチ発表、GSMAがインドで3つのレポート発行、MinewのSOSボタンにNordicのSoC採用など(2026.10.09)
- 高周波・RFニュース 2026年10月8日 SkyworksがQorvoとの合併を完了、iFixitがApple Watch Series12とUltra4を分解・60GHzアンテナあり、TDKが2GHz対応車載インダクタ発表、KeysightがADS等にAIエージェント搭載、Mini-Circuitsのバトラーマトリクス解説(2026.10.08)
- 1980~2026年のノーベル物理学賞を素粒子・宇宙と物性・基礎に分けてプロット。昔は2つの分野は交互に獲る、という感じだったが去年まで5年連続物性・基礎だった。今年はアイスキューブニュートリノ観測所での成果ということで久しぶりに素粒子・宇宙。(2026.10.06)
- 高周波・RFニュース 2026年10月6日 QorvoがBAWベースのCバンドフロントエンドとXバンドフロントエンド発表、太陽誘電が低直流抵抗のメタル系パワーインダクタ発表、アンリツとキャンドックスシステムズが60GHz評価システム発表、QualcommとHuaweiが特許ライセンス契約(2026.10.06)
「日記・コラム・つぶやき」カテゴリの記事
- RF Weekly Digest 2026/10/5-10/11 (Codex(GPT-6 Astra)によるRF情報週刊まとめ)(2026.10.11)
- 高周波・RFニュース 2026年10月9日 IEEE Microwave Magazineにリコンフィギュラブルフロントエンド記事、Keysightがレイヤー1オートメーションスイッチ発表、GSMAがインドで3つのレポート発行、MinewのSOSボタンにNordicのSoC採用など(2026.10.09)
- 高周波・RFニュース 2026年10月8日 SkyworksがQorvoとの合併を完了、iFixitがApple Watch Series12とUltra4を分解・60GHzアンテナあり、TDKが2GHz対応車載インダクタ発表、KeysightがADS等にAIエージェント搭載、Mini-Circuitsのバトラーマトリクス解説(2026.10.08)
- 1980~2026年のノーベル物理学賞を素粒子・宇宙と物性・基礎に分けてプロット。昔は2つの分野は交互に獲る、という感じだったが去年まで5年連続物性・基礎だった。今年はアイスキューブニュートリノ観測所での成果ということで久しぶりに素粒子・宇宙。(2026.10.06)
- 高周波・RFニュース 2026年10月6日 QorvoがBAWベースのCバンドフロントエンドとXバンドフロントエンド発表、太陽誘電が低直流抵抗のメタル系パワーインダクタ発表、アンリツとキャンドックスシステムズが60GHz評価システム発表、QualcommとHuaweiが特許ライセンス契約(2026.10.06)
« Go言語の数値計算ライブラリGonumを使う(2)特異値分解(SVD)、主成分分析(PCA)を計算してみる。 | トップページ | 特別展 ゴールドマン コレクション 河鍋暁斎の世界@神戸市立博物館を観てきた。いろいろなジャンルをものすごい画力で描いていて圧巻。でも笑えるものや風刺もたくさんある。百鬼夜行がよかった。行った日は全作品撮影OKな日でした。 »




コメント