2019年振り返りと2020年の目標

2018年に建てた目標と振り返り

完全に忘れていたけど、2018年も振り返っていた

planet-meron.hatenablog.com

忘れていたってことは、2018年の最初に立てた目標を忘れていたっていうことで、これはいかん

自分の成長と向き合うにあたって、自分の立てた目標は、適切だったのか、無謀だったのか振り返りをする必要がある

仕事では、前部署などで学んだことを活かし、事業成長とその楽しさを経験した。 自分を含めもっと多くの人にそういう経験を積んでもらうためにも、事業を成長させ、みんながハッピーになれるような環境づくりに邁進したい。

個人としては、統計などデータ分析に非常に興味を持つことが出来た一年だった。 そして、対外的に活動していくための一歩として、データサイエンティストとして一人前になることを2019年の目標としたいと思う。

自分が見ているDSPの事業は、ダイレクトもブランドも事業として、みんなが満足するまでとは言わないが伸長した これは自分だけでなく、みんなでプロダクトを伸ばすという個々人の当事者意識が作ったものだと思う

続きを読む

 収益を最大化する最適なフロアプライスにおける理論的アプローチ

この記事はCyberAgent Developers Advent Calendar 2019の16日目の記事です。

adventar.org

今の部署に移ってからずっとDSPの開発を行っていたのですが、今年の5月頃に事業的な方針の変化とともにチームの編成が変わり、広告枠の運用を行うメンバーとの交流が増えました

その運用の中で、収益を最大化するためにフロアプライスを変更するタスクの存在を知り、興味を持ちました

その人曰く、平日や週末でフロアプライスを調整することによってメディアとしての売上が伸びると

たしかにDSPからしても曜日やデマンドの状況によって入札額が変化するので、フロアプライスを調整することによって、収益が変わるということは理解できたのですが、既存の運用ロジックでは決まった曜日に変更したり、フロアプライスも感覚的に設定していたりなどヒューリスティックな部分が多々ありました

そこで、過去の入札額から収益を最大化するようなフロアプライスを決定することができれば、この運用自体を自動化できるとともに、メディア収益が上がるのではということで、合理的なアプローチによる取り組みを行いました

続きを読む

Re:view使ってみる

はじめに

技術書を書く選択肢はいくつもあるみたいだが先日の技術書典勉強会でRe:Viewというツールを教えてもらったので早速使ってみる

techbookfest.connpass.com

Re:Viewは独自のマークダウンとして書いたものをページ番号や目次など書籍として必要なものを成形した状態で、電子書籍やPDFとして出力が可能!

また、マークダウンとして書くことができるので複数人でバージョン管理をしながら本を書くこともできる

インストール

インストールの仕方は公式ドキュメントに則って実行するべし。

続きを読む

確率分布の一部が与えられたときにパラメータを推定する

確率分布における分布の一部が与えられたときにもとの分布のパラメータを推定したい

得られたデータが全体のデータに対してどの部分かわかれば、得られたその部分だけ確率分布となるような関数を作成してcurve_fitする

ここでは平均1, 標準偏差が0.5の正規分布を考えてパラメータの推定を行う

Desktop/PPP/python/statistics/Untitled.ipynb

終結果を見てわかるように、推測されたパラメータが真のパラメータに十分近いことがわかる。

これ作ってて思ったけど、得られた確率分布だけの関数を作らなくても同じ結果が得られたので、あまり意味ないことをしてるかもしれない。。。

制約条件をつけてcurve_fitする

任意の関数に制約条件をつけてfittingしたい

そんな時の備忘録

Desktop/PPP/python/statistics/Untitled.ipynb

上の例はこちらを参考にして、原点を通るような二次関数を定義

docs.scipy.org

パラメータを決めるための内部的な最適化ってどうやってるんだろう

ちょっと気になった今日このごろ

ハミング符号をpythonで実装してみた

前回ハミング符号について紹介しました

planet-meron.hatenablog.com

今回は一つのエラーを訂正するハミング符号と一つのエラー訂正・2つのエラー検知の拡大ハミング符号ををpythonを使って実装してみたいと思います

(7,4)ハミング符号

(7,4)のハミング符号の実装したコードを下記に示します

続きを読む

ハミング符号ってなんだっけ?ハミング符号でデータの誤り訂正・検出を行う

はじめに

電波などでデジタルでデータの通信を行う場合、波に0と1の2つの状態を持たせデータのやり取りを行います

この時受信したデータが0か1かを区別するために、ある閾値を設定して0か1か判定します

具体例を挙げると、ASKのように振幅の大小を用いてデータのやり取りを行う場合、閾値を0.5と設定すれば、振幅が0.5より大きければ1、小さければ0としてデータを処理します

ここで、通信環境が悪いと様々なノイズが混入し、本来1として送信されたデータは閾値を下回り、0として判定されるように誤ったデータを受信することが頻繁に発生します

コンピュータでは一つのビットでも違うとデータを正常に復元することができず、時にはクラッシュを引き起こします

この厄介な問題を解決する手段の一つとして、誤り訂正符号の一つであるハミング符号を紹介します

ハミング符号とは

ハミング符号とは、1950年代にベル研究所のリチャード・ハミングによって考案されたデータの誤りを検出・訂正できる訂正符号の一つです

伝達したいデータに対して、特定の位置のデータが偶数(or 奇数)になるようにパリティと呼ばれるビットを付与することで、誤り訂正を行います

続きを読む