製造業において、Pythonに加えてWebも活用して飛躍しよう

1

最近、製造業におけるPythonの導入が進んでます。自動化やアプリケーション制作に便利ですし、今後もこの勢いは止まらなそうです。

ところが、私は実務担当として工場でPythonを導入して5年になるのですが、近年はWeb技術を使用することが多くなりました。Pythonを使い始めた当初、Web技術と言えばHTMLとCSS?データ分析メインの俺にはあんまり関係ないよね?と思っていました。でも、実務を行う中でPythonとWeb技術の相性が非常に良いことに気付き、最近はWebとPythonを半分ずつ使っています。

記事の内容

この記事では、とある工場で働くエンジニアがWeb技術の重要性について発見したことを書きたいと思います。おそらく、最近の空気は、製造業でもPythonは役に立つが、Webは分野が違うので関係ないという感じだと思います。でも、私はWeb技術があってこそPythonが100%生かせるのではないかと思っています。ある工場でPythonを導入した結果、Web技術の(意外な?)重要性について発見したことを共有したいと思います。

構成

構成としては
・製造業におけるPythonの使い所を整理し、
・Web技術の重要性について
述べたいと思います。

製造業におけるPythonの使い所

少し冗長ですが、そもそも製造業のおけるPythonの使い所として主に下記の3つがあると感じています。
・データ整形や業務の自動化
・高度なデータ分析
・業務アプリの制作(AIアプリ制作含む)

1.データ整形や業務の自動化

まず一つ目です。工場だと、製造に必要なファイルはエクセルで管理されていることが多いと思います。そして、どこかのフォルダに入っているデータをそのエクセルにコピペして行う集計作業も多いと思います。Pythonの使い所として最初に出てくるのがこの作業の自動化です。csvで管理されているデータならPandasで読み込めますし、Excelも操作できるので集計作業を一瞬で終わらせることができます。Pythonは汎用プログラミング言語ですので、PC上で行う「手順の決まった繰り返し作業」であれば、原理的にはすべて自動化できるというのは心強いです。

2.高度なデータ分析

二つ目が高度なデータ分析です。研究系で使用される方はこの用途が多いのではないかと思います。当然オフラインで行うこともできるのですが、うまくやれば高度な分析も自動化できます。
つまり、一般的には

  1. 最初はオフラインで工場からデータをもらう
  2. 手元のPCで分析して結果報告
    って流れがありがちだと思うのですが、Pythonを使うとこういった流れも自動化してラインに組み込むことができると思うのです。後述するAPIの作成や、データの取得部分の自動化、分析コードのライブラリ化が必要になりますが、すべての製造ロットについて自動で不良原因を分析したり、品質を予測と言ったことができるようになります。オフラインに留まらず工場の中で生きたものとして分析コードが利用できるというのは夢がありますよね。

3.業務アプリの制作

三つ目が業務アプリ制作です。
自分ごとで恐縮なのですが、私はPythonを使い始めた時、主に自分の業務の自動化で使っていましたが、次第にある欲求が抑えられなくなってきました。「作ったアプリを周りに活用して欲しい」という欲求です。結構あるあるだと思いますので、業務アプリの制作というのも製造業におけるPython活用のよくあるパターンだと思います。あるいは、最近はAIを実装すると言った業務もあるのではないでしょうか。
そして、私がWeb技術の活用が必要だとおもったきっかけは、この3つ目の用途においてです。

Web技術の必要性

PythonでGUIを作ってしまうと、使用する人全員に同じ環境を用意しなければなりません。一桁程度ならなんとかなるのですが、人数が増えるとその手間は大きくなり苦痛に感じるようになりました。
かといって実行ファイルにするとサイズが大きくなったり、コンパイルに失敗したりデバッグできなかったりで使い勝手が悪かったです。そこで、サーバPCを用意して環境構築をその1台だけで完結させ、使用者はそこにアクセスすることでサービスを提供できるようにするためにはどうすればいいだろうかという課題に直面しました。Pythonの活用が進めば進むほどこのニーズが大きくなり、Web技術の必要性が出てくると思います。

また、二つ目の高度なデータ分析におけるWeb技術の活用のメリットも大きいです

A.手渡ししてもらったデータをオフラインで解析する
B.解析コードをラインに組み込んで全ロットで自動に結果を出す

という違いは大きいと思うのですが、後者のためにWebが非常に役立つからです。

Webを導入する他のメリット

つまり、Web技術を導入すると、分析の自動化のために必要な下記の2点が可能になります。
・整形したデータをAPIを介して配信できる(データの活用の裾野が広がる)
・本社や現場で集めたデータを活用するスマホアプリまで作れる(実行環境を問わずデータを活用するアプリケーションが開発できる)

整形したデータをAPIを介して配信できる

Pythonの使い所の一つ目で挙げたとおり、データ整形という用途はPython活用の王道だと思います。そして、整形したデータを活用するというのを考えた時、Webブラウザを叩いてデータが返ってきたらめちゃくちゃ便利ではないかと思い至りました。要するにWebAPIで配信するということです。
ロットやデータ数を指定してAPIを叩いたらデータが勝手に得られる環境というのは、分析の自動化にもだいぶ役に立つと思います。Pythonだけだとデータ整理で終わったかも分からないのですが、APIを作ることでPythonで集計したデータを他事業所からアクセスしてもらえるようにしたり、より広く活用することができるようになります。個人的には、バックエンドをFlaskでAPI化して、フロントエンドはクロスプラットフォームフレームワークのAngularかReactという構成が好きです。でも、今ならVue.jsから始めるかもしれません。

現場で活用するスマホアプリも作れる

発見だったのがこれです。Web技術というとHTMLとCSSの静的なサイトのイメージが強かったのですが、最近はSPA(シングルページアプリケーション)という技術があるそうで、SPAを使うとデスクトップアプリと同等のものを作れます(SPAとセットでよく使う言葉にPWA(Progressive Web アプリ)という物もあります。SPAという技術で作った物の性質を表すときにPWAと表現していると理解しています。なので、文脈的にはSPAよりPWAの方が正確かも)(注釈1)。AngularやReact、Vueといったフレームワークがそれなのですが、これらはTypeScriptやJavaScriptの拡張言語であるJSXなどをかなり駆使しますので、HP制作というよりアプリケーション開発のイメージです。これによりTKinter、PysimpleGUI、PyQt、のようなデスクトップアプリをWeb上でも作ることができます。
加えて、AngularやReact、Vueではクロスプラットフォーム性があります。つまり、Webアプリだけではなく、AndroidやiOSのアプリにも出力が可能ということです(!)(注釈2)。これにより、ブラウザを介してユーザーのアクセス性を確保しつつ、ブラウザでアクセスできない場所(=例えば現場)ではアプリとして使ってもらうことができるようになります。これはWebを導入して見つけた想定外の発見で、PythonだけではスタッフのPCで動作するアプリ開発しかできなかったと思いますが、Webを導入することで多くの人や場面で使ってもらえるための開発手段を手に入れられました。
相変わらずバックエンドはPythonで書いていますが、フロントエンドはWebに移行することで大きなメリットが得られました。

まとめ

少し冗長な説明になってしまいましたが、上記のようにWeb技術を使うとPythonで作ったデータを活用できる幅が広がったり、Pythonの普及に伴う環境整備の手間が低減できます。
近年注目されるPythonによる高度な分析についても、Webの力を借りることで、オフラインに留まらず全ロットに対して自動で行いそれを工場全体で生かす仕組みも構築できます。
Pythonについては製造業でも普及が進みつつあると思いますが、Webについては分野が違うという認識をされがちです。でも、Webがあるとより活用の幅が広がると思いますので、ぜひ検討してみてください。

この記事が役に立ったと思ったらLGTMお願いいたします:thumbsup:
製造業でのIT活用頑張りましょう!

注釈1:PWA、SPAとはなんぞや
注釈2:クロスプラットフォームとは何

 個人サイトの方で解説した記事1(個人・少人数のシステム開発にはAngularがオススメ)
 個人サイトの方で解説した記事2(pythonとangularの組み合わせが最強な理由)
 Monacaの記事
 勉強した本1(掌田津耶乃さんのAngularの本。React版でもいいかも。Vue.jsもいい本あると思います)
 勉強した本2(AngularをIonicベースで利用)
 

【まったく新しい最高のブラウザ】Braveブラウザでインターネットの仕組みとありかたを変えよう。

1

これはただのプラグインではありません。Louis Armstrong によって歌われた最も有名な二つの単語、Hello, Dolly に要約された同一世代のすべての人々の希望と情熱を象徴するものです。
これはただの記事ではありません。Robert E. Kahnによって歌われた開かれたインターネットへのすべての人々の希望と情熱を象徴するものです。

概要

この記事ではBraveブラウザについて説明します。Braveブラウザを使えば広告なしでYoutubeを閲覧できたり、サイトを見るとお金がもらえたりします。また、Adsenseに代わりWebサイトやTwitterを収益化できるブラウザでもあります。しかしそれだけではなく
1. (Googleの無料サービスに定義された)インターネットの仕組みを変える
2. コンテンツ製作者に適切に報いる
ことを目的とする従来とは全く異なるパラダイムから生まれたブラウザです(製作者はJavaScriptの生みの親で元MozillaCEOのアイク氏です)。
そこで、クリエータとして収益化する方法とWebサイトを閲覧してお金をもらう方法をメインで説明しつつ、Braveブラウザの背景や理念などについても紹介します。インターネットの仕組みを変えようとする非常に面白い取組みで、インターネットを使う人なら誰でも関わりのある話だと思いますのでぜひご覧ください。

構成

・Braveブラウザとはなんぞや
・クリエータの収益化の設定方法
・ユーザとして収益化の設定方法

Braveブラウザとはなんぞや

技術的には2019年に公開されたChromiumベースのブラウザです。ただし単なるブラウザではありません。他との決定的な違いは、JavaScriptの生みの親で元MozillaCEOのアイク氏がインターネットのあり方と仕組みを根本的に変えることを目指して作ったことです。しかしインターネットのあり方と仕組みを変えるとはなんぞや。。
ここではわかりやすくアイク氏の着眼点から整理することでまとめてみたいと思います。
(Braveブラウザはまだメジャーではないため、前段が長くなることをお許しください。)

Braveブラウザの着眼点と現状の問題

既存のインターネットの仕組みについて、無料でサービス展開して広告で収益化する仕組みって限界あるよね?ということが発端になっていると理解しています。
ユーザー視点で言えば

  • さすがに広告邪魔すぎじゃね?

という限界であり、コンテンツ製作者としては

  • 広告出しても全然もうからんのやけど。アフィもやらないとダメかな。(作りたいコンテンツ作れねー)

という限界であり、ビジネスモデルや倫理的な観点で言えば、アップルのティムクックの「サービスが無料であれば、それを受け取る人は顧客ではなく、製品である」ということをもじれば

function 広告利益最大化(
   ティムクック="サービスが無料であれば、それを受け取る人は顧客ではなく、製品である"
){
 => (ユーザ-="単なる変数";)
}

ということです。これって正しいようだけど、よくみると文法エラーですよね?

元々インターネットというのは分散型で自由であったもののはずなのに、今は「データの吸い上げ×広告出稿」でプラットフォーマーが牛耳ってる超中央集権状態だよね?しかもその中で一人ひとりの扱いは変数の一つにすぎず、モチっと別の仕組みはないのかね?ということがアイク氏の着眼点でした。

スクリーンショット 2020-10-31 23.36.33.jpg

方法

そこでアイク氏はMozillaを突然退社してBraveブラウザの作成を始めます。さすがJavaScriptを生み出して、Mozillaを率いただけある人は違うなと思うのですが、曰く、突然モジラのCEOを辞任したアイクは、

生まれ変わったようにプログラミングを再開し、Brave というこれまでにないブラウザを開発した。
Brave は、Cookie の弊害を取り除くとともに、
すべてをトップダウンで決められるインターネットの仕組みを変えるものだった。

ということです(「グーグルが消える日 Life after Google(ジョージ・ギルダー著)」)。

結局何が変わるの?

本を読んだり公式サイトみるといろいろ書いてあるのですが、要するに下記のメリットがあります。

ユーザーのメリット

  • ユーザーはBraveブラウザ上での広告表示を完全に管理可能。ブロックすることも表示することも可能
  • ユーザーはブラウザ上に広告を表示させることで、金銭的な対価(batという暗号通貨に紐付けられたbatポイント)を得られる。コンテンツ製作者にも支払われる。
  • ユーザーは、その対価をコンテンツ製作者に寄付できる
  • ユーザーは個人情報を売られたり集められたりしない

出稿者のメリット

  • ユーザーの好意的な反応を期待できる

コンテンツ制作者のメリット

  • Adsenseやアフィリエイト以外の第3の収益化の方法が得られる
  • 過剰な広告にレイアウトを崩されない
  • Braveブラウザを使用するユーザーからの寄付を期待できる(コンテンツ自身が価値を持つようになる!)

という点です。結構こうやって考えてみると大きいですよね?

以上が
・Braveブラウザとはなんぞや
・クリエータの収益化の方法
・ユーザとして収益化する方法
という3構成の最初の部分でした。さて、それでは実際にいよいよ収益化する方法について記載していきたいと思います。Adsenseと併用可能でしたのでぜひ登録してみるといいと思います(Adsenseのように審査厳しくありませんでした)。
なお、WEB系じゃない方はここはスルーしてください。この下にユーザーとして使う方法があります。

Braveブラウザへの登録

こちらの公式サイトから設定をしていきます。
https://brave.com/ja/

Braveブラウザでクリエイター登録するために、大きく分けて2つのことを行います。

  • 1.クリエータ登録をして、収益化したいサイトを登録する
  • 2.プラグインを入れて、パブリッシャーIDを入力してサイトを認証する

1.クリエータ登録をして、サイトを登録する

トップページ右上の「クリエイターの方」というボタンから下記のページに飛びます。
https://creators.brave.com/?locale=ja


登録ボタンを押して、メールアドレスを入力します。


メールが届くので、そこに記載されたリンクを飛んで氏名を入力して完了です。非常に簡単ですね。
ログインするとこんな画面になります。


ここでサイトの登録をしていきます。右上の「チャンネルを登録」ボタンを押して、下記のカードから収益化させたいチャンネルを選択します。Twitterなども収益化できるようですが、私の場合はウェブサイトを選んでドメインを入力しました。


すると勝手にWordPressだと判定してくれました。(Angular React,Pythonのサイトだとどうなるかわかりませんでした。でも実際はad.txtに相当するテキストファイル作っているだけなので行けると思います)


画面の指示にしたがって、プラグインのインストールして、サイトを認証します。

プラグインのインストール

からzipファイルをダウンロードして、WordPressの管理画面から新しいプラグインとしてアップロードし、有効化します。

検証コードの追加してサイトを検証する

管理画面のプラグインの中にBrave Payments Verificationという行が追加されますのでそれを選択して、先の画面に表示された検証コードを追加します。あとは検証コードが表示されたページで検証ボタンを押せばOKです。


するとこういうメールが届きますのでこれでクリエイター登録は完了です。


最後にプラグインをdeactivateして終わりです。
(支払い先でPayPalと紐づける必要はありますが、これはPayPal口座があればすぐできますし、特にクリエイター登録という意味ではしなくても問題ないかと思います)

以上です。これでBraveブラウザでクリエイター登録ができました。あとはユーザーがBraveブラウザを介してアクセスしたら、コンテンツに対する支払いが振り込まれることとなります。(でもまだ未検証です。私は https://np-sys.com/ で登録したので、Braveブラウザで誰かアクセスしてみてくれたら振り込み額など追記します。また、こちらの投稿にコメントをいただけたら、記事の下にサイト一覧のような形でリンクを貼ろうと思います。ぜひご連絡ください)

ユーザーとしてBraveブラウザを使用する

上記はクリエーターとして登録する方法を説明しましたが、ユーザーとしてBraveブラウザを利用することもできます。Braveブラウザを使うと、ChromeやSafariと異なる3点のメリットがあります。

  • 広告を排除してコンテンツを閲覧できる
  • 広告を表示することも可能で、その場合広告閲覧によって収益が得られる
  • サイト作成者に投げ銭できる

このうち、サイト(広告)の閲覧によって収益が得られるというのは理解に苦しむところだと思います。私もそんな美味しい話があるものかと思いましたが、これはBraveブラウザの理念を踏まえると理解できます。つまり
「広告に基づくウェブのエコシステムをリセットし、広告主、コンテンツ・パブリッシャー、顧客の誰もが得をするウィン・ウィン型のソリューションを提供する」
ことをBraveブラウザが目的としているためです。まぁ投げ銭の元資金って感じなのだろうとは思いますし、こういう仕組みがないとなかなか広まらないですから、いい仕組みかと思います。

ユーザーとしてBraveブラウザを利用する方法

それではいよいよネット閲覧でお小遣いがもらえる謎のBraveブラウザのインストール方法です。と言っても公式からダウンロードしてインストールするだけです。
公式→ https://brave.com/ja/

インストール後、Rewardを有効にすれば収益化は完了します。個人データの集約などもしていないとのこと。


大体、広告一回見ると1円くらいです。最大でも1時間に5回しか広告を表示させられないので額としては大したことはありませんが、得られた収益をサイト製作者に寄付できることが大きいです。小さな投げ銭が集まることである程度大きな金額になれば、正当な方法でコンテンツ製作者に報いることができると思います。作った人がコンテンツを見てもらい、金銭という形で認めてもらえる、これって健全な社会の形ですよね?

まとめ

というわけで、この記事では次世代のBraveブラウザについて紹介しました。
1. (Googleの無料サービスに定義された)インターネットの仕組みを変える
2. コンテンツ製作者に適切に報いる
ことを目的とする従来とは全く異なるパラダイムから生まれたブラウザで、Google Adsenseに変わる方法(実際は並列して使えます)として利用できます。私は開発者としてもユーザーとしてもGoogleが非常に好きなのですが、Braveブラウザの理念にも共感します。Braveブラウザはとてもいい仕組みだと思いますし、何事にも多様性は大事なはずなので、Braveブラウザも使っていきたいとと思います。ぜひ皆さんもご検討してみてください。軽くて普通にいいブラウザでした。

最後になりますが、こちらの記事は、アメリカでベストセラーとなった「グーグルが消える日 Life after Google(ジョージ・ギルダー著)」を参考にしております。哲学的なことが多かったけど面白かったです。

アフィリエイトリンクはこちら。ぜひクリックして購入してね!
=> https://amazon.com

、、、、!?。


ぜひみんなで新しいインターネットを作っていきましょう!

現場からの報告。製造業でAI/IoTを活用するために必要だと思うこと

1

製造業に勤めるエンジニアから見た製造業でAI/IoTを活用するために必要だと思うことです。 

はじめに

「2025年の崖」と言われているように、製造業にとってデジタルトランスフォーメーションが喫緊の課題となっております。新興国が品質とコストで猛追するなか、工場にいて日本の厳しさを感じるんですよね。
もはや「日本の品質って本当にいいの?」って思ってしまいます(まぁうちの工場だけかもしれないけど!)。
とはいえ人口減少する日本にとって、高付加価値品の製造が必要なのは明白であり、特にAI/IoTというのはその大きな試金石となっていると思います。いちメーカでAI/IoT担当(かっこ笑いw)をしている身から現場の感覚をお伝えできればと思います。

言いたいことは下記の3点です。
・本部機構にだけAI・IoT推進課を作っても無駄
・買い物だけでは不十分、プログラミングレベルの全体の底上げが必要
・既存のIT担当者は障害になる場合も

本部機構にだけAI・IoT推進課を作っても無駄

大企業で多いのは、工場とは離れた本部機構にAI/IoTの専門部署を作ることですよね。これ、本部だけに作るとうまくいかないパターンだと思います。というのは、AIを活用していくにあたって重要なのは、質のいいデータと現場にカスタマイズされたソフトだと思います。その点、本部にいる人が工場の既存のデータもよくわからないまま新しいデータを取るのって至難の技だと思います。加えて、新しくデータを取り始めたとしても日々起こるトラブルにすぐ対処できず工場任せにするようだと
本部「いいデータが上がってこないから解析できない」
工場「データとるのどんだけ大変だとおもってんねん!」
となる可能性が高いです。結局、本部だけに推進グループを設置するのは不十分で、工場にメインの担当チームを置かないとダメなんですよね。本部にグループ設置すること自身はいいことだと思いますが、本部だけでうまくいくなんてありえないのではないかと。

買い物だけでは不十分、プログラミングレベルの全体の底上げが必要

あとありがちなのが、買い物で済ませようってのも多くあると思います。やれTableauだ、やれDataRobotだ、そのほかにもDataSpiderやSensorCorpusなど高い買い物して「うちはAI/IoTやってる」と満足しているパターン。これって使いこなせないという意味で本当にもったいないと思います。日々の製造で活用するにはカスタマイズが必要で、どこかで自分でコード書く必要があります。この必要性を理解せずにツールを買っても片手落ちってものだと思います。

既存のIT担当者はむしろ障壁になることも

3つのなかでこれを一番いいたい。バブルの時代に建てられた工場なんかだともう30年近く経っています。うちの工場もそれくらいなのですが、こういった工場にありがちなのがシステムのレガシー化です。どんな感じかというと、例えばうちの工場ではOracleを使っているのですが、SQLでデータベースに接続すると怒られます。
既存のIT担当「接続して不安定になったらどうするんだ」
「・・・・」
Oracleにコマンドで接続してSQLでselect文発行して怒られるっていったいなんなんですか(30年前のGUIソフトでかちかちクリックしてデータを取得するのです)。。こんな状態でAI開発なんてむりですね。一悶着の末select文の発行だけさせてもらっても、なにかあると全部新しいコードがスケープゴートにされますので日々ひやひやものです。
Oracleに接続するbatファイル書いていて申し訳なさでいっぱいになるんですけど、かなしい。。悪いことしてるんだっけ!?加えてタチが悪いのは、既存の担当者の知識が一世代前のものだということです。問題起きて説明しても
「Pythonおれわからないから!!」やる気完全になくします。

対策

以上を踏まえて、製造業でAI/IoTを活用するためにわたしが思う必要な対策を下記に記載します。

本部にだけAI・IoT推進課を作っても無駄

→本部にはとても助かっています。でも、工場側にもチームが必要だと思います。
1. データの質を担保するインフラ担当、
2. データベース管理やAPI管理を行うバックエンド担当、
3. そして生技の業務に合わせてカスタマイズするフロントエンド担当

が必要です。共通化できるアルゴリズム開発などは本部に任せてもいいかもしれないですけど、でも、工場のなかにメインのチームが必要だと思います。

既存のIT担当者はむしろ邪魔になることも

→これきついですね。はっきりいって辟易しています。トラブル避けるために、AI/IoT用にはデータ回線、データベース、サーバは完全に分けられたら理想ですね。データベースはMySQLを立てて、サーバはGCPやAWSも使ってパソコンでもなんとかなるし、データ回線もセカンドイーサで分けちゃう。それでもデータ通信量が多くて他のソフト止まったと言われたら心の中で笑います、そして泣きます。

全体の底上げが必要

全員のプログラミングに対する理解が必要です。自分は関係ないと思っているひとたちのなかで根付かせるのは大変ですが、スタッフはある程度理解が必要なのではないでしょうか。「手順の決まっていることを自動化するツール」という名目で勉強してもらうのもいいと思います。

最後に

AI/IoT使いこなしたら素晴らしいと思うけど、日本の製造業課題多いなぁと。なにかにつけて古いし、固着してますよね。。工場いちから作り直したら簡単だけどね!って。あぁ、もう新興国の勝ちですね〜。・・・っいやいや!!

コモディティ化するビックデータ分析と今後求められるスモールデータ分析

1

ビックデータというのは10年くらい前から言われた言葉で、センサが安価になって多くのデータが得られるようになったり、Web上で多くのデータが得られるようになって言われた言葉です。データの量とマシンパワーで力づくでモデルを構築し、原因を分析したらモデル作成を行う方法です。特に深層学習のように人の判断を介在させず、データからのみで判断させるような解析は素晴らしいと思います。

しかし、今後、より注目されるのがスモールデータ分析だと思います。

ビックデータ解析ではもはやいかにデータを集められるかというのがポイントとなっています。ハードウェアの値段は下がっていますし、クラウドサービスで一時的にマシンパワーを借りることもできます。方法も公開されているものが多いので、既にビックデータ分析はレッドオーシャンという意見もあります。

それに対して、スモールデータは

  • 装置の故障データのようにその発生自身稀であるデータ
  • 疾患データのように多くのデータが集められないようなデータ

のことでビックデータのようにブルートフォースな解析ができません。したがって、専門家の知見に基づく考察やデータのより繊細な前処理が必要となります。スモールデータでは、データからすべてを判断することができるほどのデータがありませんので固有技術的な考察を駆使してメカニズムを推定し、知見や仮説につなげることが重要です。

スモールデータの特徴

ビックデータと比べてスモールデータには下記のような特徴があります。

  • カラム数に比べてサンプルデータ数が少ない
  • カラム同士で相関がある
  • 疾患数や故障数のように正常と異常データの数が違う不均衡データ

企業のドメスティックな環境で得られるデータというのはほとんどこれに相当すると思います。

スモールデータ分析の心構え

そして、このスモールデータを解析するにあたって重要なのは

  • 目的に対して適切な問題設定を行う
  • データの質が命

ということです。これはビックデータでも重要であることには違いありませんが、データ数が少ないと問題設定に応じたデータを選択的に取得する必要が出てきますのでよりその傾向は強くなると思います。

また、1番目の「目的に対して適切な問題設定を行う」という件についてはAIや機械学習になると途端に問題設定が曖昧になる傾向があると思います。しかし、何が目的なのか、そのためにどういう問題設定が適切なのかというのが人が行うべき業務なわけで解析でもこれが定まらないと成功するのは困難となります。例えば機械学習で株価を当てるということを考えたとき、目的は儲けるということですので、上がるか下がるかを予測するのが大事であって1円単位で予測することではないはずです。問題を適切に設定することで難易度は変わりますし、スモールデータだと今言った目的設定や課題設定がより重要になってきます。

必要なこと

今後スモールデータ分析が重要になる中で何を学べばいいかというと

  • 機械学習やデータ前処理に関するアルゴリズムへの最低限の理解
  • 専門知識

だと思います。ビックデータだとライブラリに放り込んで比較的いい感じに分析してくれることがあってもスモールデータだと中身を理解していないと導く結論が大きく変わってしまうことがあります。またもう一つが専門的な知見です。固有技術的な考察を駆使してメカニズムを推定することでデータを効率的に活用することが求められますので、データサイエンスのみならず専門的な知見というのが大事になってくると思います。

データサイエンティストという職業がすっかり普及しましたが、今後はデータサイエンスに関する知識というのは専門家に求められる教養や素養という位置づけになり、各分野の専門家の役割というのが復活していくかもしれませんね。