2021年10月9日土曜日

「両利きの組織を作る」の読書メモ(その2)

 前回に続いて「両利きの組織を作る」の第2章:両利きの経営を見ていこうと思う。


両利きの経営とは何か
  • 定義:両利きの経営
    • 既存事業の「深掘り」と新しい事業機会の「探索」を両立させる経営のこと。
    • 事業にはライフサイクルがある。勃興機、成長期、成熟期、衰退期というフェーズをたどる。
    • 既存の事業が衰退期に入る前に新たな成長事業を生み出さなければならない。オライリー氏は「同じ屋根の下で、異なる成長段階の事業が同居している経営」と述べた
  • ポートフォリオ論との違い
    • 新規事業と既存事業では求められる組織能力が違う。
    • イノベーションストリームの図ではアンゾフマトリクスと違って横軸が組織能力となっている。(https://contents.newspicks.com/news/5142885/images/516021)
    • 新たな組織能力を獲得しないと、不連続イノベーションやアーキテクチュアルイノベーションは起こせない。
    • つまり、「両利きの経営」はinnovation理論としての側面がある。
  • 両利きの経営の核心
    • 既存事業を深掘りする組織能力
    • 新しい事業機会を探索する組織能力
    • これらの矛盾する組織能力を併存させる組織能力
      • 異なる組織能力を負った組織は互いに対立し得る。
    • そのためには組織カルチャー(組織文化)をマネッジする必要がある。
組織を読み解く視点:コングルエンス・モデル
  • コングルエンスモデルは両利きの経営のベースとなっている組織経営論。
  • コングルエンスモデルでは組織人材を4つの基本要素で捉える
    • KSF(Key Success Factor):実行課題
    • 人材:どういうスキルや経験を持った人材がいるのか
    • 公式の組織:Stractureともいう。組織大使絵、評価制度、仕事上のしくみ・手順
    • 組織カルチャー:その組織で観測される行動パターン
  • さらに上記にの背景として以下の2つがある。
    • 戦略・目標
    • 経営のリーダーシップ
  • 図(https://bz-cdn.shoeisha.jp/static/images/article/4872/4872_100.jpg)
アライメントと慣性の力
  • 定義:アライメント
    • 4要素(KSF, 人材、公式の組織、組織カルチャー)がうまく噛み合って結びつている状況。アライメントが取れて初めて組織はうまく機能する。
    • 両利きの経営では、事業ごとのアライメントを並行して維持する必要があること。
  • 成功した組織は慣性(inartia)にとらわれる。成功の罠と呼ばれる。既存のアライメントから抜け出せない状況が衰退を生む。
移行の難しさ
  • 成長のS曲線の連続にはフラットになるところがある。フラットのところは新しいアライメントの形成が必要なタイミング。赤字になる前に新たなアライメントを形成する決断力が必要。
  • 定義:組織進化(オーガニゼーショナル・エボリューション)
    • 組織がアライメントを作り直していくプロセス。
  • アライメントの移行の難しさ
    • 問題1:アライメント移行に対する恐怖心が生じる。移行期における組織の感情は「現状満足→反発→不安→刷新」というプロセスを辿るという考え方。
    • 問題2:時間がかかる。経営危機に陥る前に実施するのは各人の危機意識が違うため根気がいる。既存事業の回しながら同時にアライメントを調整する必要がある。
    • 問題3:新旧アライメントの差が激しい。例:「既存事業の組織カルチャーは言われたことを確実にやる」だが、新規事業では「とりあえずやっていないと始まらない」になる。探索事業は既存事業の組織カルチャーに潰されてしまうという現実。
だいたい両利きの経営については理解できた。。。が実践するのはとても難しいかもしれない。

「両利きの組織を作る」の読書メモ(その1)

仕事で組織変革を対応することになった。現場でSEとして働いてきた自分としてはとてもチャレンジング仕事だ。当然、今までの知識なんて役に立たないし、視点も現場から経営者視点に切り替えないといけない。そんな苦労をしているところを会社で雇っているコンサルタントに相談したところ、いくつかの本を推薦してもらった(どーんと5冊くらいきたw)。今回はその中で最も読みやすそう(と思った)「両利きの組織を作る / 加藤雅則, チャールズ A オライリー, ウリケ シェーデ」を取り上げたいと思う。

 はじめに

  • この本の動機:「既存事業を守りながら、いかに次の成長領域を見つけ出すのか」
  • 成熟企業にとっての最大の壁は「自社の組織カルチャー」である。大半の会社では既存事業の組織カルチャーを新事業に適用して失敗する。
  • 定義:自社の組織カルチャー
    • 事業理念や価値観・社風といったものではない
    • 具体的な仕事のやりかた
  • 組織が進化するには2つの組織能力が必要
    • 「(既存事業を)深掘りする能力」
    • 「(新規事業を)探索する能力」
    • これら矛盾する能力を同時に獲得する必要がある。が、トレードオフが発生する。これを適切にマネッジする必要がある。つまり組織カルチャーのマネッジが必要。
第1章:今必要な組織経営論
  • 成熟期の企業ではこれまでのやり方が通用しなくなっている → 組織が変わらなければならない → 変わりたくても変われない。なぜなら、(今までの)組織カルチャーが阻害しているから。組織カルチャーは今までの仕事に最適化されているから。(AIの過学習に似ているような気がする)
  • 定義:成功の罠(Success trap or Success syndrome)
    • 成功した組織は、過去の経営環境に過剰適応してしまった結果、環境が激変する局面では適応できずに衰退してしまう。
    • 特に大企業ではPDCAサイクルをベースとした効率性の追求という罠にハマっているケースが多い。
  • 組織を語るとき、我々は主観的な経験に基づいた騙りに陥りがちになる。空中戦となり意味がない(ウチの会社でもよく発生する現象です。。。)
  • 戦略論と組織論
    • 戦略論と組織論をバラバラに議論していても意味がない。一体として考える必要がある。
    • 戦略と組織には循環作業がある。
      • 戦略に合わせて組織が進化する一方で、組織独自御取り組みから新たな戦略が形成されることもある。
    • 「存在目的」のために「戦略論」があり、その戦略を実行するために「組織論」がある。
  • 定義:組織能力
    • 組織ないの人の繋がり方・機能の組み合わせによって生まれる組織の実行能力。
  • 組織が次の段階へ進化するためのプロセス
    • 自社の存在を再定義する / 既存の事業を深掘りする組織能力
    • どの領域で生き延びるかを見極める / 新しい事業機会を探索する組織能力
    • それをどう実現するかを考える。 / 矛盾する2つの能力を併存させる能力
  • 両利きの経営では戦略論と組織論を併せ持つ
  • 組織カルチャーをマネッジするとは?
    • 組織カルチャー組織に埋め込まれているのではなく、経営者がその気になれば変られる。
    • 組織カルチャーこそが最も真似されにくい競争力の源泉となる。
    • 改革は経営者によるトップダウンと、若手からのボトムアップがミートするところで現れる(以前、若手を活かすミドル層の改革という講演を聞いた。似ているかも)

第1章を自社の状況に当てはめてみると
  • 今までの主力事業は技術革新によって陳腐化。稼ぎ柱が失われている状況。
  • 成功の罠にはまっており、「改革」という名の「改善活動」が横行。現場は改革疲れが出てしまっている。
  • 改革には取り組んでいるが成果が出ているようには見えない。人材不足、マーケティングリサーチ不足など。
  • 組織文化に着目したアクションとしては、社長からの「失敗を恐れない」ようにするという号令がある。数年前からと比べるとだいぶ変わってきた感じはある。

2021年10月8日金曜日

テキストマイニングにおける統計処理のメモ(その4)

「9章発展的な統計書理」の続き。
前回までの続きで「Rによるやさしいテキストマイニング」の「9章発展的な統計処理」を見ていく。

線形判別分析(linear discriminant analysis)
  • カテゴライゼーションの技法の一つ
  • あらかじめ設定された複数カテゴリに大量のデータを自動分類するための方法
  • 自動分類に用いる判別式の例(説明変数が2つの場合)
    • Y = a1 x X1 + a2 x X2 + c
    • この式は重回帰分析の式と本質的に同じ。
  • 判別分析をするときは、訓練データと検証データ(評価データ)の2種類を用意する必要がある。
    • ちゃんと機能するか試験する必要があるため。
    • 特定の訓練データだけでよい結果が出ることがあり、他のデータでは擦りもしない。
  • RではMASSパッケージを使う。
    • lda:学習で使う
    • predict:予測で使う

決定木(decision tree)
  • カテゴライゼーションの技法の一つ
  • 説明変数の値に基づいてデータを段階的に分類していきうことで判別モデルを構築する。
  • 判別モデル:学習した結果の計算式のことかな?
  • ジニ係数(Gini coefficient)データの「不純度」を表す。全く分類されていないとき=「不純」、完全に分割された状態を「純粋」とし、0(完全に分割された場合)から1を取る。
    • つまりジニ係数は低い方が分割の信頼性が高いということになる。
  • Rではrpartパッケージのrpart関数を使う。が、結果が強烈にわかりにくいので可視化を行う。可視化はpartykitを用いる。
  • charDollerで判定し、次にremoveまたはHPで判定するということを可視化している。
  • 決定木では過学習を避けるために枝の剪定(prunning)を行う。どの枝を切り捨てるかはplotcpで調べることができる。

  • 図中の折線は0.036で交わっている。これをrpartのcpパラメーターに指定しておく。
  • ランダムフォレスト(random forest)
    • 大量の決定木を生成し、それらの決定木から得られる結果の多数決をとる。
    • アンサンブル学習(ensemble learning)の一つ。
    • Rではランダムフォレストパッケージを使う。

テキストマイニングにおける統計処理のメモ(その3)

前回までの続きで「Rによるやさしいテキストマイニング」の「9章発展的な統計処理」を見ていく。

本章のトピックス
  • 多変量解析(multivariate analysis):多くの行や列をもつクロス集計表を効率的に分析するときに使う。ここでは多変量解析の1つとして、テキストを自動分類する方法を示す。

定義
  • 分類:にはクラスタリングとカテゴライゼーションがある。
  • クラスタリング(Clustering):目的変数を持たないデータを似たもの同士で分類する手法
    • aka, 教師なし学習(unsupervised learning)
  • カテゴライゼーション(Categorization):目的変数を持つデータを分類する手法。
    • aka, 教師あり学習(supervised learning)
  • 対応分析(Correspondence Analysis):
    • クラスタリングの1手法。クロス集計表に含まれる複雑な情報を二次元の散布図などでわかりやすく可視化する手法。
    • テキストの関係や変数間の関係を直感的に把握するために用いる
対応分析
  • caパッケージを用いる
    • data(author); plot(ca(author)) の結果。
    • 頻度が近いものが近くに表示される。
    • 軸には意味はなく、自身で配置を見て考える必要がある。
    • sound and fury 6と7は近くに出ている(同じ作家のためと解釈できる)
    • 変数は文章との関連を示している。たとえば、「x」とsound and fury 7は近くにあるのでsound and fury 7を特徴づけるものとなっている。
    • 各軸のパーセント(上記ではy軸しか出てないが)は寄与率(contribution rate)という。寄与率は行と列のデータの関連性をどれだけ説明できるものかを現す。
      • (19.7%というのは高いのだろうか?。。)
  • 対応分析のポイント
    • 各次元で大きい(or小さい)変数やテキストに注目すること。
    • 軸をどのように解釈するかがポイント。明確に傾向が出ない場合は近くに分布しているテキスト同士が何らかのグループを形成しているかを確認する。
階層型クラスター分析(hierachical cluster analysis)
  • 個々のデータの比類似度を距離として表現し、距離の近いデータ同志をまとめてクラスターを作る手法。
  • Rでクラスターを作るかはデータ間の距離の計算アルゴリズムを指定する必要がある。
    • ユークリッド距離(Euclidean distance): dist関数で用いられるコとが多い。
    • ウォード方(Ward's metho):hclust関数で用いられることが多い
  • Ward'sを用いた階層クラスター分析の例:plot(hclust(dist(author / apply(author, 1, sum), method="euclidean"), method="ward.D2")))
  • 樹形図(dendrogram)のみかた
    • 線の長さは非類似度(テキストの距離)に対応している。
    • pendorric 2とpendorric 3は類似している。
    • holtとbuckは類似している。
階層的クラスターつきのヒートマップ(heat map with hierarchical clusterig)
  • テキスト(文書)か変数(アルファベット)の両方を分析する手法
  • heatmapを使う。
  • authorデータセットに含まれるテキストと変数が同時に表示されている。
    • テキスト:作品のこと
    • 変数:アルファベットのこと
  • pendorric 3と2が同じクラスターとなっているのは色の濃さが同じところ:図ではoとかsとかの出現頻度による。(という解釈で合ってるのかな)

2021年10月3日日曜日

テキストマイニングにおける統計処理のメモ(その2)

前回の続きで「Rによるやさしいテキストマイニング」の「8章基本的な統計処理:相関と回帰」を読んでいく。

定義:
  • 相関分析(correlation analytis)
    • 複数の変数がどの程度の強さで相互に関係しているかを調べるための統計的手法。
    • 気温が高くなればアイスが売れる(正の相関)
    • Rではcor関数を使う。
  • 相関係数(correlation coefficient)
    • 複数の変数の結びつきの強さを表したもの。0より大きいと正の相関、0より小さいと負の相関、0だと相関関係なし。
      • 0 to 0.2: ほとんど相関関係なし。
      • 0.2 to 0.4: 弱い相関あり
      • 0.4 to 0.7: 比較的強い相関あり
      • 0.7 to 1.0: 強い相関あり
    • ピアソンの積率相関係数(Peason's product moment correlation coefficient)
      • corが利用している。最も一般的。
      • 外れ値の影響を受けやすい。特にデータの数が少ないとき。
    • スピアマンの順位相関係数(Spearman's rank correlation coefficient)
      • データを順位に変換することで外れ値の影響を緩和することができる。
      • 平均値と中央値のような考えに似ている。
      • cor関数ではmethodにspearmanを指定する。
  • 無相関検定
    • 相関関係がないことを確認するための検定。
    • 相関係数が0であるという帰無仮説を立てる。
    • Rではcor.testを用いる。
  • 分割相関(層別相関)
    • 1つの相関関係を複数に分割して検定すること。
  • 疑似相関(spurious correlation)
    • 相関関係がないのに相関関係があるように見えてしまう。
    • AとBに相関関係があるように見えたとする。しかし、実際にはCという別の要因がある可能性がある。AとCが相関があり、かつ、CとBが相関があるならば、AとBは相関があることになる。が、AとBは直接的な相関はない。(あってるのかな?相関関係に推移律は成り立つのかな。。)
  • 回帰分析(regression analysis)
    • 原因となる変数と結果となる変数の間を回帰式と呼ばれる数式で表現する手法。
    • 説明変数(explanatory variable)
      • 写像でいうところの定義域。関数でいうところの引数。
    • 目的変数(criterion variable)
      • 写像でいうところのイメージかな。(Co-domainだと、全射じゃないときに。。)
    • 回帰式
      • 写像(関数)のこと。
    • 単回帰分析(simple regression analysis)
      • 説明変数が1つ。
    • 重回帰分析(multiple regression analysis)
      • 説明変数が複数。
      • 日本語訳が変だよね。「複回帰分析」とかの方が合ってるような気がする。
      • 多重共線性(multicolinearity)に注意する必要がある。
        • 2つの説明変数間に強い相関があるときにおこる。
        • 回帰英数が負のときに正になったり、逆になったりする。
        • 事前に相関分析を行い、強い相関がある変数を除外して重回帰分析にかける。または、変数選択(variable selection)という方法を使って回帰分析に用いる変数を自動的に選別する。
    • Rではlm関数を用いる。
    • 回帰分析には相対頻度や標準化頻度を用いるのが一般的。

2021年10月2日土曜日

テキストマイニングにおける統計処理のメモ(その1)

現在読んでいるテキストマイニングの本ですが、「8章基本的な統計処理」になると難易度が上がるのでメモをとりながら読んでいます。が統計の素人には厳しいのでメモ。
定義
  • 検定(statistial testing):複数のデータの間に統計的に有意差(significance)が存在するかを検証すること。
  • 帰無仮説(null hypothesis):検定における「データに差がない」ということを示す仮説。
  • 対立仮説(alternative hypothesis):帰無仮説を否定した際の仮説。
  • 有意水準(significance level):帰無仮説が正しいかを判断する基準値。

一般的な方法
  • 帰無仮説が正しい確率を計算し、有意水準以上ならば帰無仮説は成立すると結論し、そうでないならば棄却する。

テキストマイニングにおける検定の種類
  • フィッシャーの正確確立検定(Fisher's exact test):
    • 2つのカテゴリーに分類されたデータの分析に用いられる。標本の大きさが小さい場合に使える。
    • p値(p-value):帰無仮説が正しい確率、つまり、データ間に優位差のない確率。一般的にP値が0.05(5%)よりも小さい場合はデータ間に差がない確立が低いと言える(つまり、データ間に差があると考える)
    • 95%信頼区間(95 percent confidence internal):信頼区間とは母集団の真の値が含まれることが、かなり確信 (confident) できる数値範囲のこと。95%のサンプルがこの区間に入っていると言う「範囲」を示している。
    • オッズ値(odds value):効果量の1つの種類。効果量とはサンプルサイズ(後述)の影響を受けない指標。
  • カイ二乗検定(chi-squared test)
    • フィッシャー検定と比較すると集計表に小さい数値が入っているときに不正確となる。
    • フィッシャー検定よりも計算速度は早い。(が、現代の計算機ではどちらも一瞬)
    • ということで、フィッシャー検定を使いましょう。
実際にフィッシャー検定をやった例
  • 帰無仮説:特定の習熟度(Level)における英語学習者が、特定の文法を正しく使っていた(correct)。それとも誤って使っていたか(Error)。
  • データ
Level 1 Level 2 Level 3
Correct 805 414 226
Error 99 38 12
  • フィッシャー検定結果
    • p値:0.01198
    • 結果:棄却(0.05よりも小さいため)
  • 2x2より大きいクロス集計表に対して検定を実施した場合、「どの場所が差があるか」はわからない。これを知るには多重比較(multiple compilation)を追加で行う必要がある。
多重比較
  • A, B, Cという属性を持つ表があったとする。これを多重比較すると、AとB、BとC、AとCの3パターンの検定を繰り返す必要がある。
  • このパターンでは3回の検定を行う。この際、有意水準は1/3を用いる。これをボンフェローニ補正(Bonferroni Correcrion)と言う。ボンフェローに補正は回数が大きくなるにつれてデータ中に存在する差を正しく検出できなくなる。
検定の注意点
  • サンプルサイズ(表中のあたいの大きさ)の影響を受ける。
  • 例:上記の票の例で値を10倍にすると帰無仮説は棄却される。
  • テキストマイニングでは大規模な機能後の頻度を集計すると、セルに入る数値が大きくなる(つまり超デカいデータを分析するにつれて、単語の出現回数が大きくなる。このため、p値ではなく効果量(effect size)という値(サンプルサイズの影響は受けない)を確認する必要がある。
オッズ値:
  • あるデータの起こりやすさを2つのデータで比較するための指標。p値がデータの大きさに依存するのに対して、オッズ値は相対的な指標となるためp値とともに用いると効果的。
  • 2x2のデータでのみ計算ができる。それ以上の場合は、クラメールのV(Cramer's v)という仕様を計算する。
  • 結果を提示するときはオッズ値(効果量)も提示すると良い。
クラメールのV:
  • 効果量の1つ。
  • 否決する基準はないが、0.1で「効果量小」、0.3以上で効果量中、0.5以上で効果量大と言える。

2021年10月1日金曜日

M1 Mac(BIG Sur), home-brewのRMeCabの環境構築でハマった件

40秒でわかるM1 Mac (Big Sur)でのRMeCabのインストール

  • homebrewのR 4.1.1ではinstall.package("RMeCab")ではRのバージョンが新しすぎてインストールできない。
  • homebrewのR 4.1.1ではdevtoolsのインストールもバージョン違いでインストールできない。なので、devtools::install_github("IshidaMotohiro/RMeCab")を使ったインストールもできない。
  • なのでバージョンを無視して手動でインストールする
    • http://rmecab.jp/R/src/contrib/RMeCab_1.07.tar.gzをダウンロード
    • R起動してインストール
    • > install.packages("RMeCab_1.07.tar.gz",  repos=NULL, type="source")
    • > library(RMeCab)
    • > RMeCab("すもももももももものうち")