2019年09月11日

独自データセットでAmazon Forecastの実行方法

このエントリーをはてなブックマークに追加
follow us in feedly
Amazon Forecast 開発者ガイド
この通りですが、やはり上手く行かない事が幾つもありました。

まずデータのインポートで
Data schemaが、
 "Attributes": [
  {
   "AttributeName": "item_id",
   "AttributeType": "string"
  },
 {
   "AttributeName": "timestamp",
   "AttributeType": "timestamp"
  },
  {
   "AttributeName": "target_value",
   "AttributeType": "float"
  }
 ]
こうなっていますが、データファイルでのカラムの順番も、この順番になって無ければいけません。

Timestamp format ですが、基本的にyyyy-MM-dd HH:mm:ssの形式以外、受け付けないと思って良いです

Timestamp formatを変えたり、ファイルの方に1文字でも形式に合ってない所があれば、
We were unable to upload your data.
Invalid timestamp format specified: yyyy-MM-dd HH:mm. Options: [yyyy-MM-dd, yyyy-MM-dd HH:mm:ss]
We were unable to upload your data.
1 validation error detected: Value 'yyyy/MM/dd HH:mm' at 'timestampFormat' failed to satisfy constraint:
Member must satisfy regular expression pattern: ^[a-zA-Z0-9\-\:\.\,\'\s]+$
等の様なエラーが返ります。

データセットやpredictor 予測子ですが、管理画面の方から見て無いように思った時があったんですが、
リージョンが違うと別になりますので、リージョンに気を付けておくべきです。



次にTrain predictorですが、この時点から気を付ける必要がある点があります。

ForecastFrequency が、Hになってると思いますが、 これだと1時間幅での学習、予測しかしませんので、使いたい時間幅に変更しなければいけません。
Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour), 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5 minutes), and 1min (1 minute). For example, "Y" indicates every year and "5min" indicates every five minutes.
データが1分毎の場合、1分より長い幅に設定する事は出来ますが、逆は出来ません。
幅を伸ばした場合、その区間の合計値が系列値になるみたいです

Forecast horizon は、予測する未来の時間幅です。ここで設定した分しか予測しません。

  Predictor detailsで、Country for holidays - optional なんかもあるんですね。

...ここまで実行出来たなら、トレーニングでエラーが生じる事は無いと思います。
学習と予測の作成は、ただ待つだけです。

..................


ドル円1分足 2015/08/17 04:08 〜 2015/10/19 09:09 のデータが有ったので、それで試しました。

それの予測値ですが
USDJPYH105090
USDJPYM105090

このようにForecast horizonの分しか予測しません

予測を作る時点で、指定できる時間が決まってしまっているのです。 
任意のデータを入力として予測を行いたいのですが、それはどうするのでしょうか?


学習の時点で、TARGET_TIME_SERIESに加えてRELATED_TIME_SERIES を指定しても、学習に役立っているのかどうか全然分からないですが...


このPredictorを外部プログラムからAPIで呼び出す方法はどうやるのでしょうか?
ipynbのコードは、呼び出している事になっていると思いますが

ipynb の方で実行する時、のエラー解消ですが

UnknownServiceError: Unknown service: 'forecast'. Valid service names are: acm, acm-pca, alexaforbusiness, amplify, apigateway, apigatewaymanagementapi, apigatewayv2, application-autoscaling, application-insights, appmesh, appstream, appsync, athena, autoscaling, autoscaling-plans, backup, batch, budgets, ce, chime, cloud9, clouddirectory, cloudformation, cloudfront, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudwatch, codebuild, codecommit, codedeploy, codepipeline, codestar, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, config, connect, cur, datapipeline, datasync, dax, devicefarm, directconnect, discovery, dlm, dms, docdb, ds, dynamodb, dynamodbstreams, ec2, ec2-instance-connect, ecr, ecs, efs, eks, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, es, events, firehose, fms, fsx, gamelift, glacier, globalaccelerator, glue, greengrass, groundstation, guardduty, health, iam, importexport, inspector, iot, iot-data, iot-jobs-data, iot1click-devices, iot1click-projects, iotanalytics, iotevents, iotevents-data, iotthingsgraph, kafka, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, lex-models, lex-runtime, license-manager, lightsail, logs, machinelearning, macie, managedblockchain, marketplace-entitlement, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediastore, mediastore-data, mediatailor, meteringmarketplace, mgh, mobile, mq, mturk, neptune, opsworks, opsworkscm, organizations, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, polly, pricing, quicksight, ram, rds, rds-data, redshift, rekognition, resource-groups, resourcegroupstaggingapi, robomaker, route53, route53domains, route53resolver, s3, s3control, sagemaker, sagemaker-runtime, sdb, secretsmanager, securityhub, serverlessrepo, service-quotas, servicecatalog, servicediscovery, ses, shield, signer, sms, sms-voice, snowball, sns, sqs, ssm, stepfunctions, storagegateway, sts, support, swf, textract, transcribe, transfer, translate, waf, waf-regional, workdocs, worklink, workmail, workspaces, xray


これは、多分、こうします。
pip install --upgrade boto3





tak_tak0 at 22:26コメント(0)サーバ   この記事をクリップ!

コメントする

名前:
URL:
  情報を記憶: 評価:  顔   星
 
 
 
サイト内検索
にほんブログ村 科学ブログへ
にほんブログ村
adsense
Archives
amazon
blogchart
QRコード
QRコード
Recent Comments