タグ

回帰に関するwerdandiのブックマーク (16)

  • 機械学習による株価予測 いろはの”ろ” - Qiita

    はじめに 前回記事「機械学習による株価予測 いろはの"い"」の公開後、筆者の機械学習モデルの獲得利益はめでたく1億を突破することができた。運用モデルの概要については筆者のブログにて紹介したが、折角の機会なので技術的な内容についてここに続編を執筆する。今回の記事では、株価を予測するための特徴量についてその考え方をまとめる。 特徴量の種類 個別銘柄を説明するための代表的なデータとは、財務諸表とチャート(価格系列)である。一昔前は個人投資家がこれらのデータを揃えるのにかなりの苦労が必要だった(特に財務諸表が面倒であった)が、最近ではQiitaでXBRL用のライブラリが紹介されていたり、バフェットコードでAPI(有料)が提供されていたりと、随分と手間要らずになってきたように思う。 個別銘柄を説明するための材料についてさらに進んだ話をすると、IRを自然言語処理に掛けてセンチメントを抽出したり、経営陣

    機械学習による株価予測 いろはの”ろ” - Qiita
  • Pythonで作って学ぶ統計モデリング | AIdrops

    Pythonで作って学ぶ統計モデリング 近年、AI機械学習、深層学習といった用語に代表されるように、多種多様のデータを高度なアルゴリズムと計算機の力で解析し、将来予測などの価値を生み出す技術に注目が集まっています。 これらの技術の土台となっているのが、記事で解説する統計モデリング(statistical modeling) と呼ばれる考え方です。元々は手計算が可能なレベルの比較的シンプルな数学的仮定を置いてデータを解析する方法論として発展しましたが、近年の計算機の性能発達に伴い、従来では取り扱えなかったより複雑なモデルを利用した高度な解析を実施する事例が増えてきています。特に、現在実践で広く使われている機械学習のモデルや、複雑な非線形関数を組み合わせた深層学習モデルなども、その多くは突き詰めれば統計モデルの一種であることが言えます。したがって、統計モデリングはそれ自体がデータ解析に対し

    Pythonで作って学ぶ統計モデリング | AIdrops
  • purrrとbroomで複数の回帰モデルを効率的に管理する - REVISIO Tech Blog

    はじめまして。データサイエンティストの森下です。 TVISIONでは探索的にデータを見てく段階では、可視化に加えて複数の回帰モデルを作成して検討する、ということをよくやっています。 モデルの数が少ない場合は個別にモデルを作成してsummary()で見ていく事もできますが、モデルの数が増えるにつれてそのやり方では管理が難しくなってきます。 そこで、記事では、purrrのmap()とbroomのtidy(), glance()を用いて複数の回帰モデルを効率的に扱う方法を紹介したいと思います。 まずはライブラリを読み込みます。tidyverseはデータハンドリングと可視化のためのパッケージ群です*1。 tidymodelsはモデリングをtidyなやり方で統一的に扱えるようにするパッケージ群になります。今回はbroomのみ用いますが、後日他のパッケージの紹介記事も書ければと思っています。 lib

    purrrとbroomで複数の回帰モデルを効率的に管理する - REVISIO Tech Blog
  • 機械学習の数理: 学部の講義で出した100問の演習課題 – Joe Suzuki (鈴木譲) 公式ブログ

    機械学習の数理100問の改訂版 (2019年2月24日)。 2018年度の講義も残りわずかになった。 私が着任した昨年度から、基礎工学部情報科学科数理科学コース3年「計算数理B」で、機械学習の数理に関する講義を行っている。その中で、計算数理B100問 を学生に解かせている。 線形回帰 ロジスティック回帰と判別分析 クロスバリデーションとブートストラップ 情報量基準 スパース推定 非線形 決定木 サポートベクトルマシン 教師なし学習 機械学習の演習と言うと、参加費が◯十万円の企業のセミナーなどでも、中身を理解させないで、データを流し込むだけのものが多い。そういうのをみると、頭を使わない勉強方法を奨励しているように思えてならない。この100問は、理論(簡単な数式の証明)だけでなく、R言語でかかれたソースプログラムを理解するようにしている。 データサイエンスの人材が◯万人不足すると指摘する声は多

  • Lassoの理論と実装 -スパースな解の推定アルゴリズム-

    $$ \begin{aligned} \boldsymbol{S}_{\lambda}(\boldsymbol{\beta}) & = ||\boldsymbol{y}-\boldsymbol{X\beta}||^2 + \lambda||\boldsymbol{\beta}||_q \\\\ & = ||\boldsymbol{y}-\boldsymbol{X\beta}||^2 + \lambda \sum_{i=0}^{p}{|\beta_i|^q} \cdots (*) \\\\ \end{aligned} $$ となります. 確認ですが, $\boldsymbol{y}$:n次元の観測ベクトル $\boldsymbol{X}$:n×(p+1)次元の計画行列(design matrix) $\boldsymbol{\beta}$:(p+1)次元の回帰係数ベクトル (これを求めたい.

    Lassoの理論と実装 -スパースな解の推定アルゴリズム-
  • Pythonでデータ分析:線形回帰モデル - データサイエンティスト(仮)

    導入 データ分析にて、最も基的な回帰分析から始めていきます*1。回帰分析とは、説明したい変数(目的変数)とそれを説明するための変数(説明変数)の間の関係を求める手法です。機械学習の手法の区分としては、教師あり学習(解答に相当する教師データを用いてモデルを構築)に属するものです。 回帰分析の目的は大きく2種類あります。 理解:文字通り、変数間の構造・関係の理解 例:ある病気に対して、どのような遺伝子が寄与しているかをマイクロアレイデータなどのデータを用いて明らかにする 予測:変数間の関係をもとに、将来予測をする 例:過去の広告の投下量と売上実績から、これらの関係を説明するモデルを構築し、それをもとに将来の広告への投資計画を立てる ビジネスの世界では、予測を目的に使用されることがほとんどです。それは、モデル構築によって要因を明らかにするだけでなく、その後の施策でそのモデルの知見を使い、価値を

  • 合成変量とアンサンブル:回帰森と加法モデルの要点

    機械学習における「木」や「森」のモデルの概要 [招待講演] 合成変量とアンサンブル:回帰森と加法モデルの要点 ○瀧川一学(北大) 信号処理研究会(SIP)https://goo.gl/PxAbbK 2017年 6月19日(月) - 2017年 6月20日(火) 回路とシステム研究会(CAS)/ VLSI設計技術研究会(VLD)/ システム数理と応用研究会(MSS) 備考) 機械学習研究者・瀧川一学さん [北大人図鑑 No.5] https://youtu.be/XNz3D26wy0oRead less

    合成変量とアンサンブル:回帰森と加法モデルの要点
  • 機械学習の情報を手法を中心にざっくり整理 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 概要 自分用のメモとして、機械学習に関する情報を浅く ( それなりに ) 広くをモットーに、ざっくり整理してみました。 少しでも、他の方の理解に役立ったら嬉しいです。 機械学習とは コンピュータプログラムが経験によって自動的に出力結果を改善していく仕組み。 手法 機械学習の代表的な手法について記載します。 1.教師あり学習 2.教師なし学習 3.強化学習 に分けて記載しました。 ※概要説明は一例です。 1.教師あり学習 1-1.線形回帰 予測したい値を算出する式を連続する多項式として表し、各係数を最小二乗法や最尤推定法で求めることでモデ

    機械学習の情報を手法を中心にざっくり整理 - Qiita
  • Rでスパースモデリング:Elastic Net回帰についてまとめてみる - データサイエンティスト(仮)

    導入 回帰モデル構築の際、汎化性能を向上させるために正則化の手法がたびたび用いられます。これは、考えているデータ数に対して特徴量の数が非常に多い場合や、特徴量間に強い相関(多重共線性)がある場合に有効な方法となっています。このような場合に、通常の回帰モデル構築の際に用いられる2乗誤差などの目的関数に加え、ノルム(は正整数)のような正則化項(もしくは罰則項)加えて最適化をおこなうことで先程の問題を解消することができます。こういった正則化項を加えた上でモデルの最適化をおこなう( = パラメータを推定する)方法を、正則化法といいます。 代表的な正則化法に、Lasso, Ridge, Elastic Net回帰があります。これらは、解釈性も含めた特徴があり、必ずしも高精度のものだからよいわけではない、というのが私の考えです。しかし一方で、{caret}を使ってこの中で最も精度がよいものを採用しまし

  • Rでスパースモデリング:Adaptive Lasso - データサイエンティスト(仮)

    導入 スパース推定の代表的な手法として、Lassoがあります。様々なシーンで活用されているLassoですが、Lassoは変数選択の一致性が保証されないという欠点があります。Adaptive Lassoは、その欠点を補う形で提唱されている手法となっています。こちらは、ある条件のもとで変数選択の一致性が保証*1されており、数理統計学的により好ましい性質を持っています。 このAdaptive Lassoですが、Rでは{glmnet}以外のパッケージを使わないと簡単にできないとかなりの期間勘違いをしてました。そんな中、以下の記事を最近見かけまして、冷静に考えたら{glmnet}でも表現できるよなあと猛省した次第です。 RPubs - Adaptive LASSO Examples 以上の経緯から、挙動を確かめておこうという考えのもと、メモがてらAdaptive Lassoの紹介をしようと思います。

  • LASSO and Ridge regression - データサイエンティスト上がりのDX参謀・起業家

    今回はLASSOとリッジ回帰についてです。 パッケージは「glmnet」、「lars」、「lasso2」で実行できます。 glmnetとlarsの作者はFriedman、Hastie、Efron、Tibshiraniと有名な先生ですが、lasso2の作者は知らないです。。 内容もほぼ一緒なので、LASSOをするときはglmnet一択で良いと思います。 まずは使用例から。。。 データはLARSパッケージにあるdiabetesを使います。 このデータである結果変数y(中性脂肪?)をx(性別や血圧など)によって予測するモデルを作ります。 まずは単純な線形回帰をします。 library(lars) library(glmnet) data(diabetes) Linear <- lm(diabetes$y ~ diabetes$x) Linear$coefficients これが推定結果です。 (

    LASSO and Ridge regression - データサイエンティスト上がりのDX参謀・起業家
  • 時系列データ分析の処理でやってはいけないこと(反省を含めて) - Qiita

    (追記1)用語("in-sample", "out-of-sample")の使い方が不適切との指摘をいただきました.記事の後半部にこの点,追記いたしました. (追記2)を後半部に加えました. Qiita投稿した後,内容の誤りに気がついても,手間を惜しんでそのままになってしまいがちである.ごく小さな誤記であればまだいいが,理論的な誤りや勘違いにおいては,間違った発信が続いていることには違いなく,反省しなければならない.(記事削除が手っ取り早いのですが,「いいね」がついていたりすると削除も失礼かと... ) さて,以前 回帰モデルの比較 - ARMA vs. Random Forest Regression - Qiita で時系列データからLag(遅れ)を特徴量として使う Random Forest回帰のやり方を紹介している. 今回は単変量の時系列データであるが,いくつかの過去のデータ使っ

    時系列データ分析の処理でやってはいけないこと(反省を含めて) - Qiita
  • 時系列データへの回帰分析 | Logics of Blue

    新規作成:2017年05月16日 最終更新:2017年05月16日 ここでは、時系列データを手にした際に、どのような手順で回帰分析をかけていけばいいのか、フローチャートを交えて解説します。 時系列データは特殊でして、普通の回帰分析を行うと、p値がおかしくなり、正しく検定ができなくなることがよくあります。これを見せかけの回帰と呼びます。 シミュレーションを通して、見せかけの回帰という現象を確認したうえで、それらに対応する手法としての単位根検定・共和分検定・一般化最小二乗法(GLS)の基的な考え方とRでの実装方法について説明します。 ソースコードはまとめてこちらに置いてあります。 スポンサードリンク 目次 時系列データへの回帰分析フローチャート 単位根と見せかけの回帰 データチェック1 単位根検定とADF検定 解決策1 差分系列への回帰分析 差分系列への回帰分析の問題点 データチェック2 共

    時系列データへの回帰分析 | Logics of Blue
  • StanとPythonでベイズ統計モデリング その2 Chapter5 - Easy to type

    アヒル(StanとRでベイズ統計モデリング)のChapter5にPythonで取り組んでいきます。 練習問題を解いて、文中に書かれてるグラフをPythonで描いてみます。 なおChapter1~3は導入だったのと、Chapter4は練習問題の内容が「はじめての統計データ分析」と被っていたのでパスします。 Chapter5 基礎的な回帰とモデルのチェック 重回帰 複数の説明変数を用いた回帰のこと 重回帰も結局は正規分布を仮定している 目的 説明変数からの応答変数の予想、及び説明変数の寄与率 分布 複数の説明変数ならScatterplot matrixを利用すると良い MCMCの設定について スケーリング: MCMCを行う前に、各データのオーダーを大体(1前後に)そろえること。 収束がしやすく、早くなる 最大値、標準偏差、標準偏差の倍で割ったりすれば良い 結果の解釈 : モデルの改善に活か

  • CTR予測とAdaGrad - FANCOMI Ad-Tech Blog

    こんにちはデータサイエンティストのt_sakaiです。 前にCTR予測についての概論・評価方法についての記事を書きましたので、今回はさらに踏み込んだ内容についてまとめてみたいと思います。 この記事を読むには以下を理解している必要があります ロジスティック回帰の目的関数 勾配降下法 目的関数と最適化アルゴリズム 基ですが機械学習は、達成したい目的を数値化した目的関数と、目的関数を最小(or 最大)にするための最適化アルゴリズムの2ステップに分けられます。 1つ目のステップの目的関数は、CTR予測においてはロジスティック回帰がデファクトスタンダードになっています。(参考: GoogleのCTR予測についての論文) (kaggleにおけるCriteoのCTR予測コンペでは、特徴量抽出のためにGBDTを使ったり、特徴量の掛け合わせを考慮するためにFFMを使ったりすることにより良い精度が出ることが

    CTR予測とAdaGrad - FANCOMI Ad-Tech Blog
  • 3.1. Python での統計 — Scipy lecture notes

    必要なもの 標準的な Python の科学技術環境 (numpy, scipy, matplotlib) Pandas Statsmodels Seaborn Python と依存ライブラリをインストールするのにに Anaconda Python か Enthought Canopy をダウンロードするか、Ubuntu や他の Linux ならパッケージマネージャーを利用する、ことをおすすめします。 参考 Python での Bayesian 統計 この章では Bayesian 統計については扱いません。Bayesian モデリングに関して特化したものとしては PyMC があり、 Python での確率を扱うプログラムを実装しています。 ちなみに どうして統計に Python を使うのか? R は統計に特化した言語です。Python は汎用の言語で、統計モジュールを持っています。R は P

    3.1. Python での統計 — Scipy lecture notes
  • 1