タグ

*programとmodelに関するsh19910711のブックマーク (121)

  • Rで選択モデリング(混合ロジットモデル)

    Rで 選択モデリング(混合ロジットモデル) を試みます。 選択モデリングのシナリオは以下の通りです。 ストーリー・シナリオ:テクノロジー・シティの通勤改革登場人物と背景 舞台: テクノロジー企業がひしめく大都市「テクノロジー・シティ」。 住民: この街で働く多様な会社員たち。彼らは毎日の通勤で3つの選択肢を持っています。 車 (Car): 自由で快適だが、渋滞と高い維持費(ガソリン、駐車場)が悩み。 電車 (Train): 定時運行で読書などもできるが、駅までのアクセスや混雑がストレス。 自転車 (Bike): 健康的でエコだが、天候に左右され、坂道はきつい。 都市の課題: 人口急増により、朝夕の交通渋滞は限界に達し、環境汚染も深刻化しています。新市長は「スマートでグリーンな通勤都市」への変革を公約に掲げました。都市計画チームの挑戦市長の特命を受けた都市計画チームは、市民の通勤行動を科学的

    Rで選択モデリング(混合ロジットモデル)
    sh19910711
    sh19910711 2025/10/06
    "人々は「通勤時間」と「通勤コスト」を、どのくらいの重みで天秤にかけているのか / mlogitパッケージを使い、「時間」の係数に個人差(正規分布)を仮定して推定"
  • tidymodelsを使った線形回帰

    この記事について tidymodelsを使った線形回帰の練習です。 コードを実行している手もとの環境でoptions(warnPartialMatchArgs = TRUE)としているので、ところどころ「部分的な引数のマッチング」というwarningが出ていますが、気にしないでください。 suppressPackageStartupMessages({ require(tidymodels) require(DALEXtra) }) tidymodels_prefer() #> Warning in conflicted::conflict_prefer("update", winner = #> "recipes", loser = "Matrix", : 'loser' の 'losers' #> への部分的な引数のマッチング 使用するデータ openintroのmariokartとい

    tidymodelsを使った線形回帰
    sh19910711
    sh19910711 2025/09/27
    2024 / "OpenIntro: 学部1~2年レベルくらいの統計の教科書を書いているプロジェクト + 『データ分析のための統計学入門』として邦訳"
  • matsueushi | Juliaのガウス過程ライブラリGaussianProcesses.jlを使う(基本編)

    Juliaのガウス過程ライブラリ GaussianProcesses.jl を触ってみる。 チュートリアルはまだ未整備のようなので、サンプルノートブックとガウス過程と機械学習」などを参考にしながらやっていく。 Juliaのはv1.1.0, GaussianProcesses.jlはv0.9.0を使っている。 インストールはいつものように カーネル関数 すでに多くの種類のカーネル関数が実装されており、 ガウスカーネル、線形カーネル、指数カーネル、周期カーネル、Matérnカーネルなど、 「ガウス過程と機械学習」に出てきたカーネル関数はほぼカバーされているようだ。 全て見ていくとキリがないのでいくつか基的な部分だけ確認することにする。 ガウスカーネルのカーネル関数は「ガウス過程と機械学習」では $$ k(\mathbf{x}, \mathbf{x}^\prime) = \theta_1 \e

    sh19910711
    sh19910711 2025/09/20
    2019 / "「ガウス過程と機械学習」に出てきたカーネル関数はほぼカバー"
  • purrrとbroomで複数の回帰モデルを効率的に管理する - REVISIO Tech Blog

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

    purrrとbroomで複数の回帰モデルを効率的に管理する - REVISIO Tech Blog
    sh19910711
    sh19910711 2025/09/15
    2019 / "単純に一つ一つの説明変数と被説明変数の関係を見ているだけでは間違った結論を下してしまう可能性がある / 重回帰分析でカラット数の影響を取り除くことで透明度と価格の正しい関係を見る"
  • Gemma 2Bを3種類のタスクで埋め込みモデルとして訓練しマージして比較する|oshizo

    埋め込みモデルのマージを実験してみました。 まず、Gemma-2Bをベースモデルとして、検索、NLI、分類の3タスクを想定した学習データで学習し、それぞれのタスクに特化した3つの埋め込みモデルを作成しました。 これらをマージすることで、タスクに特化したモデルよりも評価が高くなることが確認でき、埋め込みモデルでもマージが有効であることが分かりました。 ただし、特に検索性能は既存のモデルと比べて競える精度とはなっていません。もう少し改善出来たら公開したいです。 背景、モチベーション取り組みの背景として、関連する最近の話題をいくつか紹介します。 1. LLMを使った埋め込みモデルとモデルマージこれまでの埋め込みモデルは、BERTのような1B未満のパラメータの小規模なモデルが使われることが多かったのですが、最近ではLLMを使った埋め込みモデルも出てきています。 日語に対応した小規模な埋め込みモデ

    Gemma 2Bを3種類のタスクで埋め込みモデルとして訓練しマージして比較する|oshizo
    sh19910711
    sh19910711 2025/09/12
    2024 / "タスクに特化したモデルを学習し、後でマージすることで良いとこ取りができるか / sentence-transformers: 2022年のv2.2以降アップデートが止まっていましたが、2024年の1月にv2.3"
  • Juliaで学ぶ Hamiltonian Monte Carlo (NUTS 入り)

    Hamiltonian Monte Carlo (HMC) is an MCMC method that uses Hamiltonian dynamics to efficiently explore the target distribution. It simulates the trajectory of a particle under Hamiltonian mechanics to propose new states that are usually accepted. No-U-Turn Sampler (NUTS) improves on HMC by automatically tuning the integration time.

    Juliaで学ぶ Hamiltonian Monte Carlo (NUTS 入り)
    sh19910711
    sh19910711 2025/09/01
    2014 / "Metropolis-Hastings: 提案分布というサンプリングしたい分布とは別の分布から候補点を取り出し、良い値ならその点を受理し、そうでなければその場にとどまる"
  • 【状態空間モデル】PyStanとpykalmanでダウ平均株価予測 - ころがる狸

    こんにちは。ゴールデンウィーク3日目です。緊急事態宣言が5月末まで延長しそうです。家に籠って勉強なりゲームなりをしています。 今日は、状態空間モデルを取り上げます。状態空間モデルでは、実際の観測値とその背後にある真の状態を分けて考えます。真の状態は時間とともに変化しますが、私たち観測者にはその状態が見えません。観測者が手にすることができるのは観測値のみで、これに基づいて真の状態を推定します。もっとも素朴なモデルでは、真の状態における1つの時間ステップでの変化は微小であると想定したり、観測されるのは真の状態にノイズがのったものであるとする仮定を置いたりします。このような状態空間モデルのイメージ図として以下のような図が用いられることが多いです。真の状態が時々刻々と推移しており、私たちが観測する値はそこから派生したものであると見なします。 状態空間モデルのイメージ状態空間モデルを用いた予測の方法

    【状態空間モデル】PyStanとpykalmanでダウ平均株価予測 - ころがる狸
    sh19910711
    sh19910711 2025/08/11
    2020 / "積分計算の中に含まれているp(θ|Y)をMCMCサンプルとして計算し、既知の関数であるp(y|θ)と掛け合わせ積分を和で置き換え"
  • 「関数型ドメインモデリング」から学ぶモデリングの勘所

    はじめに 関数をベースにドメインモデリングをすることのメリットを、自分なりにまとめています。関数型プログラミングにはあまり馴染みがなく、今までのドメインのモデリングもオブジェクトをベースとしたモデリングを実施していました。「関数型ドメインモデリング」の書籍を読んで「なるほどな!」と感じた学びがあったので言語化してまとめています。元々は関数型プログラミングは低レイヤの処理には向くが、ドメインが複雑な領域においては転用が難しそうだな…という印象を持っていましたが、考え方を改めるきっかけにとなったため、その理由などをまとめています。 記事を読むメリット 関数をベースにしたモデリングの一例をざっくり知ることができる。 「モデリングって難しそうだな…」という印象から、これならできるかも!…と感じられる!(かも)。 今までなんとなく行なっていた「モデリング」に対して、アプローチの仕方を整理することがで

    「関数型ドメインモデリング」から学ぶモデリングの勘所
    sh19910711
    sh19910711 2025/07/22
    2024 / "「抽象的な概念」からではなく「具体的に観測しやすい結果」から考える / 着目するオブジェクトを決められるようにするためにイベントストーミングなどを用いてドメインの整理をする"
  • StanとRでレプリカ交換MCMC(parallel tempering) を実行する - StatModeling Memorandum

    記事は発展的な話題です。かつて@Med_KUさんのブログ記事「てさぐれ!!RStanもの」で出てきた例題は局所最適値(local minimum)が多くて、Stanで実行する際も初期値をかなりピシッと決めておかないとダメな例題でした。 しかし、モデルが高次元になってくると最初から“それらしい”初期値なんて分かりようがないし、そもそも理論的にはどんな初期値からはじめても長い間iterationをとれば大域最適値に到達してほしいです。しかし、Stanとは言え、現実的な時間内では局所最適値につかまります。溝が少し深いと出てこれません。そんな状況を打破するための発展的なMCMCの手法の1つに「レプリカ交換MCMC(replica exchange MCMC)」というものがあります。パラレルテンパリング(parallel tempering)としても知られています。 例によってここでは詳しく説明し

    StanとRでレプリカ交換MCMC(parallel tempering) を実行する - StatModeling Memorandum
    sh19910711
    sh19910711 2025/07/09
    2016 / "温度が異なる実行系列(レプリカ)をたくさん用意して、時々レプリカ間でパラメータの値を交換 / 局所最適に一度はまったとしても温度が高いところを経由して抜け出すことができる"
  • Llama4 Scoutのマルチモーダルを試してみた - シンギュラリティ実験ノート

    Redditのr/LocalLLaMAを眺めていたらまた面白そうなネタがあった。 Can your favourite local model solve this? 比較的簡単な幾何学の問題をローカルLLMで解くことができるかというテーマである。 図の三角形のxの角度を求めよという問題だ。画像を理解できるLLMで中学生程度の数学の知識があれば解けそうな問題である。しかし前提として画像を正しく理解する必要がある。 Llama4 ScoutはマルチモーダルのLLMである。マルチモーダルの機能を試すのにちょうど良さそうなので試してみることにした。 問題の解答 まずは自分で答えを求めてみる。 三角形の内角の和は180で、緑の角87とピンクの角36が分かっている。残りの角の角度は  で57と求まる。 オレンジの角45を含む三角形に着目すると残りの角の角度は  で78と求まる。 2の直線は並行で、

    Llama4 Scoutのマルチモーダルを試してみた - シンギュラリティ実験ノート
    sh19910711
    sh19910711 2025/07/06
    "比較的簡単な幾何学の問題 + Redditの記事をざっと見るとローカルLLMではなかなか解けない / Llama Scoutでマルチモーダルを試すのには別のGGUFファイルもダウンロードする必要"
  • ついに来た!「関数型ドメインモデリング」 - @yohfee.blog!

    はじめに ご縁があって翻訳者の猪股さんよりご恵贈いただきました。 この場をお借りして御礼申し上げます。 関数型ドメインモデリング ドメイン駆動設計とF#でソフトウェアの複雑さに立ち向かおう 作者:Scott WlaschinKADOKAWAAmazon 書は F# 界隈では F# for fun and profit でお馴染みの Scott Wlaschin 氏による「Domain Modeling Made Functional」の翻訳です。 僕はもともと F# を書く人なので、数年前にそちら由来で原著を読んでおりました。 とても学びを得ることができていいだけど翻訳されるのは難しいだろうなと思っていたので、この度の書の出版はまさに偉業! 書について ドメイン駆動設計や関数型プログラミングに、なんか難しそうというイメージを持っている方は少なくないと思います。 自分もその一人で、エ

    ついに来た!「関数型ドメインモデリング」 - @yohfee.blog!
    sh19910711
    sh19910711 2025/07/05
    2024 / "F# 界隈では F# for fun and profit でお馴染みの Scott Wlaschin 氏 / 関数合成によってワークフローをパイプライン化することで、成功フローと失敗フローを意識しすぎることなく一本化できる"
  • 座席選択シミュレーション: 人間心理と社交性を解析🔍 - システムとモデリング

    Juliaで座席選択の人間心理をシミュレーションしてみた はじめに 通勤電車に乗っていると、空席がいくつかあっても「なぜそこに座らないの?」と思うことがあります。誰かの隣が避けられていたり、端の席から埋まっていったり。実はこれ、無意識のうちに人の心理が働いているのです。 この記事では、そんな「座席選択の心理」をシミュレーションするための数理モデルを、Juliaで構築してみました。 モデルの考え方 電車の座席選びには、いくつかの心理的な傾向が見られます。以下のような要素をモデルに取り入れました: 他人と距離を取りたい(端の席が人気) 女子高生の隣は座りにくい(気まずさ) 大柄な人の隣は狭そうで避けたい(快適さ) 誰も座っていない席はちょっと怖い(観察学習) これらを表現するために、乗客には以下のような性格パラメータを持たせます。 乗客の性格パラメータ パラメータ 説明 sociability

    座席選択シミュレーション: 人間心理と社交性を解析🔍 - システムとモデリング
    sh19910711
    sh19910711 2025/06/28
    "身近な行動をモデル化してシミュレーションする / 性格パラメータに応じて各席の「スコア」を計算し、softmax関数を使って着席先を選び + スコアの差が大きいと高い確率で良い席を選び、小さいとランダム"
  • gemma-3n-E4BをPCで動かしてみる

    ALGO ARTIS でソフトウェアエンジニア(主にフロントエンド)として働いている船岡 (@mochiya98)です。 2025 年 5 月 20 日、 Google I/O 2025 で Gemma 3n がプレビュー版として発表されました。 MatFormer (Matryoshka の Mat。必要な時に必要な分だけ読み込む) を用いて実装されており、従来に比べて少ないメモリ消費で推論できることが特徴のモデルです。 しかしながら、公開されているモデルは特殊なフォーマットなため、スマホからの使用のみに限定され、PC からローカルで推論して試すことは難しい状況にありました。 でも、試してみたいよね? はじめに 単純にモデルを使いたいだけなら Google AI Studio や API 経由で使用するのが簡単です。 毎分 30 回、毎日 14,400 回呼び出せます。 実質無限。API

    gemma-3n-E4BをPCで動かしてみる
    sh19910711
    sh19910711 2025/06/20
    "Gemma 3n: MatFormer (Matryoshka の Mat。必要な時に必要な分だけ読み込む) を用いて実装されており、従来に比べて少ないメモリ消費で推論できる / LiteRT-LM: Gemma を実行するための C++ ライブラリ"
  • 同期現象の数理モデルをPythonで実装してみた - ENGINEERING BLOG ドコモ開発者ブログ

    はじめに 記事をご覧いただきありがとうございます。ドコモアドベントカレンダー8日目の記事になります。初めまして。NTTドコモR&D戦略部新入社員の武田です。業務では主に弊社の先進技術を活用したメタコミュニケーションサービス「MetaMe®」(メタミー)の技術実装を担当しています。 私は学生時代、人々の動きや行動パターンを実データから分析し、災害時の安心・安全な避難を実現するためのシミュレーションや最適化に関する研究に従事しておりました。現在仮想空間内においても「ユーザの流れ」や「ユーザの行動」に注目し、技術実装を行っています。群衆の動きに関するサーベイを進める中で、「同期現象」に関する論文を目にし、その仕組みに強く興味を持ちました。 そこで記事では、「同期現象」を数理モデルで表現した2種類のモデルをとりあげ、Pythonを用いた実装を通して、その仕組みをより深く理解することに挑戦します

    同期現象の数理モデルをPythonで実装してみた - ENGINEERING BLOG ドコモ開発者ブログ
    sh19910711
    sh19910711 2025/06/11
    2024 / "同期現象: 周囲の影響を受けながら、徐々に足並みが揃う + バラバラだった拍手が、気がつくと会場全体で揃っている / 蔵本モデル: 振動する個体(振動子)が互いに影響を与え合いながらリズムを揃えていく過程"
  • Stanでpsychophysics──階層ベイズモデルで恒常法データを分析する──[スライド紹介]

    こんにちは。mutopsyです。この記事は,『StanとRでベイズ統計モデリング』読書会 (Osaka.Stan #5) のLT(ライトニングトーク)セッションで使用したスライドの紹介記事です。このスライドで用いたデータの配布,および分析に用いたRコード・Stanコードの紹介もします。 このスライドでは,恒常法で集めたデータに対して累積正規分布関数をフィッティングする時に,(1) 参加者ごとに最尤推定した場合,(2) 参加者ごとにベイズ推定した場合,(3) 階層ベイズモデルでまとめて推定した場合の3つの推定方法で結果がどう変わるのかを比較しています。 分析対象は,Webで収集したミュラー・リヤー錯視実験のデータです(データはこちらで公開しています[csvへのリンク])。このデータ(csv形式)はこちらをクリックするとダウンロードできます。 データは1行1試行の形式で,7つの列(変数)が格納

    Stanでpsychophysics──階層ベイズモデルで恒常法データを分析する──[スライド紹介]
    sh19910711
    sh19910711 2025/06/06
    2017 / "(1) 参加者ごとに最尤推定した場合,(2) 参加者ごとにベイズ推定した場合,(3) 階層ベイズモデルでまとめて推定した場合の3つの推定方法で結果がどう変わるのか"
  • Rでトービット・モデルによる打ち切りデータの推定 - 餡子付゛録゛

    金額で測った不動産の保有量を考えましょう。大半の貧乏人はゼロでありますが、一定以上の所得がある人から保有量が増加してきます。集合住宅、持ち家、そして別荘や投資物件など増加していくわけです。 こういう説明変数の値に対して、一定まではゼロ(もしくは定数)、もしくは一定以上がゼロの推定モデルを切断モデルと言います。説明変数の全体の領域に対して線形にならないので、OLSで分析するとバイアスが入ります。バイアスをコントロールするためにTyle I〜IVまでのトービット・モデル(Tobit Model)が考案されています。一番、単純なタイプIモデルで、打ち切りデータの推定をしてみましょう。 1. Tobit Model Tobit Modelでは、あるにおける、確率で打ち切る場合と、確率で打ち切らない場合の同時確率密度を最大化するように尤度Lが定めて最尤法をかけます(詳しくは「Applied Econ

    Rでトービット・モデルによる打ち切りデータの推定 - 餡子付゛録゛
    sh19910711
    sh19910711 2025/05/15
    2012 / "所得と保有資産の関係を見るときに良く使われ、OLS以外の計量手法を使わなければいけない理由を明確に図示できる分析モデル / 適応できそうなデータセットは多くは無い"
  • Lorenz96モデルのデータ同化:準備編 - Qiita

    はじめに データ同化(Data Assimilation)をJulia言語を用いて行ってみよう、 というのが趣旨です。 一口にデータ同化と言ってもたくさんの手法があるので、 それらのなかで主要なものを紹介していきたいと思います。 この記事では、データ同化の概念を紹介したのち、 扱うモデル(40変数Lorenz96モデル)の性質をJuliaで計算して描画します。 実際にデータ同化をするのは次回以降の記事になります。 これ以降の数値計算はJupyter NotebookにJulia1.1を導入して行っています。1 Juliaを使う部分だけ興味がある人は、 Lorenz96モデルの計算のところから読んでもらって大丈夫です。 データ同化の考え方 データ同化の概念を簡単に説明します。 まず、時刻$i=1,2,\ldots,N$において、知りたい真のデータ$x_i^t$があったとします。2 真のデータ

    Lorenz96モデルのデータ同化:準備編 - Qiita
    sh19910711
    sh19910711 2025/05/14
    2019 / "Data Assimilation: 真のデータの並び方について、ある程度の規則性 + 観測データを使うよりも良い少し未来の予報 / 京都大学理学部で開講しているデータ同化A,Bの講義"
  • JuliaパッケージModelingToolkit.jlでタンクモデルを作成する - システムとモデリング

    久しぶりの投稿です。 今回は非因果モデリングのためのJuliaパッケージModelingToolkit.jlを使用してタンクモデルを作成してみます。 ModelingToolkit.jlについて ModelingToolkitJuliaネイティブのモデリングツールで、方程式ベースでモデルを記述できます。方程式ベースのため入力と出力を区別しない非因果的なモデリングが可能です。その他の非因果モデリングツールはmodelicaや同じくJuliaベースのmodia.jlが有名ですが、ModelingToolkitとそれらの相違点は以下の記事に詳しく書かれています。 https://www.stochasticlifestyle.com/modelingtoolkit-modelica-and-modia-the-composable-modeling-future-in-julia/ また、Mo

    JuliaパッケージModelingToolkit.jlでタンクモデルを作成する - システムとモデリング
    sh19910711
    sh19910711 2025/05/13
    2021 / "ModelingToolkit: Juliaネイティブのモデリングツール + 方程式ベースのため入力と出力を区別しない非因果的なモデリングが可能"
  • NumPyro について、確率モデルを扱いたい理由を再確認したあとに動かしてみる

    この記事はTensorFlow Advent Calendar 2020の6日目の記事です。 概要 この記事では NumPyro について扱います。NumPyro は確率的プログラミングを行うためのフレームワークの1つで、バックエンドに JAX を使っていることが特徴的です。この時点で次のような疑問が生まれるでしょう。 そもそもなんで確率なの?サイコロを投げるの? 確率的プログラミングとは? JAXって? これにできる限り真正面から答えようというのがこの記事の目的です。まず確率モデルを導入する理由について述べます。次に、確率的プログラミングが扱う課題について述べます。その後、 NumPyro に関係する技術である Pyro や JAX について確認したあとに NumPyro について触れます。 このような構成のため、それぞれの構成要素について深くは触れません。また、ベイズ推論や機械学習に関

    NumPyro について、確率モデルを扱いたい理由を再確認したあとに動かしてみる
    sh19910711
    sh19910711 2025/05/08
    2020 / "NumPyro が登場した背景について / NumPyro: HMM の実行において、Pyro と比較して 340 倍、Stan と比較して 6倍の高速に実行"
  • ガウス過程回帰とGPyのメモ

    はじめに Kindle の日替わりセールで買って積読になっていた『ガウス過程と機械学習』を読んだので,ガウス過程回帰について整理し,GPy で試してみました.この記事の内容は『ガウス過程と機械学習』の 2-4 章に対応しています. ガウス過程回帰とは回帰分析手法の一種で,非線形な関数関係を表すことができます.ガウス過程回帰ではカーネル関数と呼ばれる類似度を表す関数を設定しますが,このカーネル関数を変えることで無限回微分可能な滑らかな関数やブラウン運動,周期性など様々なものを扱えます. ガウス分布 平均 \mu,分散 \sigma ^2 のガウス分布の確率密度関数は, \mathcal{N}\left(x | \mu, \sigma^2\right)=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{(x-\mu)^2}{2 \sigma^2}\

    ガウス過程回帰とGPyのメモ
    sh19910711
    sh19910711 2025/04/29
    2023 / "ガウス過程回帰: 非線形な関数関係を表す + カーネル関数と呼ばれる類似度を表す関数を設定 / 『ガウス過程と機械学習』は非常にわかりやすく楽しかった"