質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

2137閲覧

時系列データのの時間に関する長さを統一する方法を知りたい

pypypy.bom

総合スコア31

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2020/05/17 03:05

編集2020/05/17 03:44

##実現したいこと

周期の長さが異なる時系列データが10個あり(長さが80~120)、
それらの時間に関する長さを100で統一したい。

イメージ
周期の長さが異なるsin波(1.5π~3π)を2πに統一したい

##わからないこと

そもそもこういう操作のことを時間に関する【正規化】と呼んでよいのか

##使用言語
python (3.7.2)

##試してみたこと
実装までは行えていないのですが以下のような
最大値最小値をスケーリングする方法などは使えないかと考えておりました。

python

1mm = preprocessing.MinMaxScaler() 2 3# mm.fit_transform(l) 4# ValueError: Expected 2D array, got 1D array instead: 5 6l_2d_min_max = mm.fit_transform(l_2d) 7 8print(l_2d_min_max) 9# [[0. 0. 0. ] 10# [0.5 0.5 0.5] 11# [1. 1. 1. ]] 12 13print(type(l_2d_min_max)) 14# <class 'numpy.ndarray'>

参考:https://note.nkmk.me/python-list-ndarray-dataframe-normalize-standardize/

##コメント
方法に関してはこだわりはありませんので上述の方法以外でも結構です。

ご質問があれば早急にお答え修正させていただきます。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2020/05/17 03:38

「時間に関する長さの異なる時系列データが10個あり(長さが80~120)、それらの長さを100で統一したい。」ということの「長さ」との時間の間隔のことでしょうか?
pypypy.bom

2020/05/17 03:43

失礼いたしました、書き方が不適切でした。 イメージとしては周期の長さが異なるsin波が10個あるような状態です。
meg_

2020/05/17 04:12

具体的なデータのサンプルを提示された方が分かりやすいかと思います。
guest

回答1

0

sin波が例えなのか実際にsin波なのかわかりませんが...

周期の長さの異なるsin波(1.5π~3π)というのは以下のようなことを指すと仮定して、

y1 = h1 * sin(t) … 2π周期 y2 = h2 * sin(t * 2π/1.5π) … 1.5π周期 y3 = h3 * sin(t * 2π/3π) … 3π周期 :

2πに統一するというのは以下のようなことだと仮定すると、

y1 = h1 * sin(t) … 2π周期、t = T1 * 2π/2π y2 = h2 * sin(t) … 2π周期、t = T2 * 2π/1.5π y3 = h3 * sin(t) … 2π周期、t = T3 * 2π/3π :

tでsin値を計算して、元のT2、T3については逆数で計算する、ということになります。

T1 = t T2 = t * 1.5π/2π T3 = t * 3π/2π :

...たぶん、こういうことではないですよね。

投稿2020/05/17 10:41

etsuhisa

総合スコア416

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問