高等学校情報/情報I/データの活用

※ 暗黙の前提として、データは1個だけでは普通は価値が無く、蓄積しないと役立てることができません。後述する「データ分析」でも、たった1個だけのデータを分析しても、たいていの場合は何の役立ちません。蓄積された多くのデータを手作業で処理するのは大変なので、そこでコンピュータの出番(でばん)となるわけです。
下記の例ではアンケートによる集計でデータを蓄積していますが、別に他の手段でデータを収集して蓄積しても構いません。たとえば気温のデータなら、デジタル温度計で収集するのが効率的でしょう。

アンケートなどでデータを集める際、たとえば「1日あたりの勉強時間を答えてください」の回答のような、数値などで表現できるデータであり、さらにデータどうしの差や比例などに意味のあるデータのことを「量的データ」と言います。身長や時間や人数や点数など、数値として意味があるものが量的データです。
一方、「社会科は好きか嫌いか、その理由とともにお答えください」の回答のような、文章などで記述してもらったデータのことを「質的データ」と言います。
コンピュータでは、量的データのほうが処理しやすいです。
部活の入部希望アンケートで「加入したい部活を記入してください」というアンケートは、一見すると回答は「サッカー部」のような語句のように見えますが、しかし選択肢を用意して番号をつけて
のように選択肢を設けることで、これを数値として扱うこともできますが、しかしこういうのも質的データとして扱います。なぜなら、部活どうしの四則演算に意味が無いからです。
たとえばサッカー部の「1」と「卓球部」の2を足したら「3」で、これは柔道部の番号「3」と同じ数値ですが、しかしそのことに意味は何もありません。
なお、この部活の番号のように、分類上の都合でつけただけの番号などの数値を、名義尺度(nominal scale)と言います。 ※ 実教出版の教科書で英訳を併記しています。
数値データであっても、必ずしも量的データとは限らないことに注意してください。
後述しますが、コンピュータでは、選択肢の方式のアンケートが一番ラクに処理しやすいです。

下記のように番号をつけて
とした場合、番号の数値が低いほど満足しているので、数値の大小には意味があります。しかし要素どうしの四則演算には意味がありません。たとえば
「とても良い」(1)+「良い」(2)=「普通」(3)
ですが、そのことに意味が何もありません。
このように、順序や大小には意味があるが四則演算に意味が無い尺度のことを順序尺度と言います。
順序尺度は、一見すると差に意味がありそうですが、しかし,、たとえば「1 とても良い」と「3 普通」の差はむりやり計算すれば2ですが、
これが「2 良い」と「4 あまり良くなかった」の差の2と計算結果は等しくなりますが、
しかし、本当に回答者の「とても良い」と「普通」の差が、「良い」と「普通」の差とは等しいという保証がありません(※数研出版)。
なので、こういったアンケートの回答は順序尺度として扱います。
また、さきほど回答者の心理の話をしたことから分かるように、心理学や社会学では、心理などを数値データ的に処理したいときに順序尺度として扱わなければいけない事もよくあります(※数研出版)。
さて、質的データは、名義尺度または順序尺度に分けられます。
物理II(専門『物理』)で習いますが、温度の比率には意味がありません。温度の差には意味があります。
たとえば1°Cと10°Cは、一見すると10倍ですが、
しかしケルビン単位で見れば、
274ケルビンと283ケルビンでしかなく、2倍未満です。
このように、温度は単位系によって数値が変わるので、比率には意味がありません。
この温度のように、比率に意味が無いが差には意味がある尺度のことを「間隔尺度」と言います

ほか、身長・年齢など、大小関係にも差にも比率にも意味がある尺度のことを「比例尺度」と言います。

建物の階数はよく比例尺度と誤解されますが、しかし日本においては地面に接している階が0階ではないので、階数は比例尺度ではありません(※ 数研出版)。1つの階の高低差が等間隔なら、その建物の階は間隔尺度です。階の高さが等間隔でない場合は、間隔尺度ですらなく、順序尺度です(※数研出版の傍注)。
ほか、量的データのことを「定量データ」(ていりょうデータ)、質的データのことを「定性データ」(ていせいデータ)と言うこともあります(※数研出版の傍注)。

名義尺度であっても、最頻値の算出は可能である(日本文教出版 II)。
たとえば、新入生アンケートで、どの部活に入部を希望するかの「入部アンケート」を学校がとったとして、「13:軽音楽部」が仮に一番人気だったとしよう。こういった人気アンケートみたいに、最頻値や、あるいは名称はないが二番目に頻度の高い値、三番目に頻度の高い値、・・・といったものは算出できる。
名義尺度に最頻値が存在するので、決して「名義尺度は統計量を出せない」(←マチガイ)と勘違いしないようにしよう。
アンケートで数値入力させたとき、ユーザーが入力ミスなどで、異常な数値を入力してしまう場合があります。
その場合、せっかく近似直線または近似直線(二次関数や三次関数などの高次関数で近似できる)などの近似関数をとっても(※ スプレッドシートに近似直線や近似曲線を取る機能があります)、異常な傾きの直線や曲線が出てしまいます。
また、直線や高次関数ではなく、円などで近似したほうが良い結果が得られる場合もあります。
なので、いきなり近似関数の機能を使う前に、まずグラフで図示する必要があります。
例として、次の7名のクラスの、数学と物理の点数を考えてみましょう。

スプレッドシートでグラフ表示をする際、「散布図」(さんぷず、scatter plot)というもので表示すると、線で近似する前の状態が図示されるので、その散布図を見てから、何で近似すべきかを決めます。
さて、直線近似をするという事は、一次関数で近似することです。数値的に正確な直線近似の方法として、数学的には「最小二乗法」という方法が一般的には使われます。(検定教科書「情報II」の範囲。日本文教出版で確認.)
直線を引いた場合に、残差(ざんさ)を二乗した値の総和(残差二乗和または「二乗残差和」または残渣平方和)が最小になる直線を求める計算法が、最小二乗法です。
残差とは、考えている近似関数からのズレです。
なお、二次関数以上で近似する場合でも(つまり多項式近似の場合)、考えている関数とのズレのことを「残差」といいます。また、多項式近似を表計算ソフトに命令した場合には、残差が最小になるような関数を表計算ソフトは出力するはずです。
まあ、直線近似については、コンピュータなどなかった時代などは、人間が散布図を目で見て「だいたいココらへんだな・・・」と、「えいやっ」と直線を手動で引く方法も昔からありましたが・・・。
なお、高次関数による近似は、表計算ソフトでは「多項式近似」などと呼んでいるかもしれません。(じっさい、Excelの場合、「多項式近似」では2次関数以上しか使えない。)

散布図は、図1つにつき2種類のデータしか使えません(上記の例では数学と物理の得点のように)。
国語の得点などとの関係も図示したい場合は、新たに、たとえば国語と数学の得点を散布した散布図をもう一つ作る必要があります。

数学の統計分野で「相関係数」と言うのを習うが、しかし相関係数とは直線比例に近いかどうかを検出するための指標であるので(直線比例に近いと1または-1に近くなる。相関係数は -1≦r≦+1 の間の数値を取る(rを相関係数の記号とする)。相関係数の絶対値は最大で1まで)、たとえば明らかに円形に分布していても検出されない(円状に分布している場合は相関係数が0に近くなる)。
円周上に並んでいるように見える場合でも、あるいは円盤状に並んでいる場合でも、どちらにせよ相関係数が0に近くなる。
円に限らず、たとえば四角形状に分布している場合でも同様、相関係数が0に近くなる。
また、「W」字のようにナナメ上向き直線とナナメ下向き直線が混ざっているように分布している場合も、相関係数が0に近くなる。
このため、統計分析の実務では、相関係数を計算するよりも前に、まず散布図を見て、どう分析するかを決める必要がある。
2023年現在、高校数学でもすでに散布図を教えている。
もし散布が直線状で、ナナメ右上に右上がりになっている場合は、相関係数が 1 に近くなり(※ プラス1に近くなり)、「正の相関」と言う。
もし散布が直線状で、ナナメ右下に右下がりなっている場合は、相関係数が-1に近くなり、「負の相関」と言う。

データの重複や表記ゆれ、その他のご入力などの除去の作業のことを、データ・クリーニングやデータ・クレンジングなどと言います。特に、手入力されたデータには誤入力や重複などが起こりやすいので、データクレンジングが必須である(※東京書籍の見解)。
アンケートなどで数値入力をさせた際、回答者が読み違いや入力ミスなどで、異常な値を回答してしまう場合があります。
入力ミスなどによって入力された値のことを「異常値」と言います(数研出版の見解)。いっぽう、入力ミスではないが、ほかの値から大きく外れた値のことを「外れ値」(はずれち、outlier)と言います。
なので、異常値については、近似関数などを作成する前に除去をした、別データ集を作成します。外れ値を除去するかは、データの種類による(※数研の見解)。
中学校の数学でも習ったと思いますが、(平均値ではなく)中央値や最頻値などを使うことで、異常値の影響を受けづらくなります。
このように、何かの指標を使う場合は、異常値などの影響を受けづらい指標を使うのがコツです。
このほか、ある項目のデータが入力されていなくて空欄の場合など、「欠損値」(英:missing value)と言います(※東京書籍、第一学習社、実教出版などで確認)。コンピュータ処理上の都合で、未回答であっても、じつは何らかの値が事前に変数に入力されている場合があります。たとえば数値データなら、プラスの整数しか回答できない質問に、じつはマイナスの値が格納されている、などです。もし回答すると、値がプラスに書き換わる、などの工夫です。
欠損値は、その後のデータ分析からは、除去する必要があります。

「情報」教科でつかう数学については、平均や中央値や最頻値といった中学レベルの数学が情報の範囲です。加えて、高校で新しく習うだろう(統計値の)「分散」も情報Iの範囲です(※ 数研出版の教科書で確認)。なので、高校の数学IAていどの勉強は必ずしましょう。余裕があれば数学2Bも勉強しましょう。
(※ 範囲外)データ・クリーニングのさい、除去前のデータは、これはこれで残す必要があります。
一般に、生データは残します。(ただし、プライバシー保護など特別な理由がある場合は別。詳しくは業界によるだろうから、その業界の慣習に従おう。また、新人はしばらくは先輩の指示に従おう。)
生データのままだと、異常値が含まれていたら、異常な分析結果が出てしまうので、役立たなくなってしまう。なので、それを防ぐため、まず散布図などを観察して、明らかに変な値は、除去をするなどの加工をした二次データのファイルを作成します。
(なので、エクセルなどでデータファイルは、生データ用のファイルと、加工データのファイルとで、最低でも2個のファイルを得ることになる。)
では、どういったデータが、異常なのでしょうか。
ケーススタディとして、たとえば「あなたの1か月あたりのおこづかい(単位:円)を答えてください。」というアンケートで、 多くの回答者が「10000」とか「20000」とか答えているのに、何人かの回答者が「2」とか「3」とか答えていたら、明らかにその「2」や「3」は異常値です。
この「2」や「3」は、おそらく2万円とか3万円のつもりで誤入力をしたものと思われます。
そもそも小遣いをもらってないなら「0」円になるはずだし、こづかいをもらっているのに2円とか3円とか、常識的にありえない数字です。
この例のように、異常なデータは、データ解析などの処理の前に除去をする必要があります。

なお、実は、世間にある統計データの分析結果は、場合によっては、データ・クリーニング済みのものだったりすることもあります。(だからデータ分析者の主観がそこで少し入る可能性がある。)

欠損値のクリーニング時の初歩的な失敗例として、本来なら除去すべきなのにゼロ「0」に置き換えてしまうミスがあります(数研出版)。ゼロに置き換えてしまうと、平均値などの計算に含まれてしまうので、間違った結果を出してしまいます。なので欠損値は、平均値などの算出では、ゼロに置き換えるのではなく、必ず除去しましょう。
Googleフォーム内では文章は分析できません。) しかし、外部サイトを使えば、記述式アンケートで収集した文章でも、出現頻度の多い単語の抽出などの分析に書けることができます。「テキストマイニング」などで調べると、そういうサイトを探せます。
テキストマイニングを出来る外部サイトとしては、たとえば「AIテキストマイニング User Local」などのサイトがあります。
ただし、テキストマイニングで分かるのはl単語の頻度と(※ 「ワードクラウド」画面)、単語どうしの出現の関連性(たとえば「先輩」「後輩」のように出現事例が近い単語は近くに表示される。「共起キーワード」という)だけです。
それ以上の分析は、結局は、人間が行う必要があります。もとの文章を読む必要もあります。
やはり、基本的には選択式のアンケートが簡単です。そして、記述をしてもらった場合には、最終的に、アンケート文を読む必要もあります。
もし読者が「質的データ」と言う言葉を習っているなら、つまりテキストマイニングを使うことで質的データでもコンピュータで図示できる時代になったという、技術的な進歩でもあります。

散布図は、他の節でも述べたように、数学の得点のデータと物理の得点のデータといった2つの数値的な量的データがあって、その2つの変数の関係を見たい場合は、有効である。
量的データであっても、データの割合を見たい場合は、帯グラフや円グラフが有効である。
しかし質的データは、棒グラフで表すほうが良い場合もある。下記に説明する。
たとえば「小学校のころ、好きだった給食メニュー」の選択式アンケートのように(たとえば「カレー」とか「唐揚げ」とか「あげパン」とか「わかめゴハン」とか(※以下略)、並んでるアンケート)、基本的に日常生活では数値で表さないものは、散布図には向かない。そういうのの集計結果は棒グラフや円グラフなどで表すのが良い。(もっとも、選択式アンケートは無理やり番号付けすることで量的データに変換できるが(たとえば「1:カレー、2:唐揚げ」・・・みたいなの)、今回はそれは無視する。)
質的データは、データの種類にもよるが、あまり散布図は向かない。質的データを表す場合、棒グラフや円グラフなどで表すと良い場合が多い。
紙でグラフで図示する場合、紙は平面で2次元なので、よって図示にも限界があり、度数分布表も棒グラフも散布図も、紙に最大で2種類のデータしか扱えない。
中学で習った度数分布表を、あれでデータが1種と見るか、それともデータが2種と見るかはともかく、ともかく、それ以上には、1つの度数分布表ではデータの種類を増やせない。
もし、度数分布表でデータの種類を増やしたい場合、あらたに度数分布表を追加する必要がある(ただし、縦軸などは共有できる場合もあるので、見た目上は1つの表になる場合もある。今回はそういうのは2つの度数分布表として扱う)。
ともかく、どんな図示をしようが、3種類以上のデータになると、紙では基本的にはパース無しでは表せないし、数学や情報科学のグラフでは基本的にはパースを使わないので、よってグラフ化できない。(ただし、コンピュータの統計処理ソフトなどで無理やりに3D表示できる場合もあるが、今回は無視する。)
たとえば、「習慣的に、ここ1年のあいだスポーツを毎週していますか?」というアンケートで、回答者が25歳以上~40歳未満の大人だとして、回答者が男性か女性かの選択肢も追加した場合、
仮に右の表のような結果が得られたとして、これは散布図にはふつうの方法では表現しようがない。なぜなら、項目が2つあり(「男性/女性/性別不明」の項目と、「している/していない」の項目)、さらにその回答者の人数というもう一つのデータが追加されるので、結果的に3種類のデータが必要だからである。
なので、図示できないので、こういう場合、最終結果が数値的なものなら(たとえばパーセントとか人数・個数とかなら)、クロス集計表と言うのを使って、数値で表すと良い。
のように付記する必要がある。
※ 余談だが、最近の表計算ソフト(Excelなど)やアンケート処理ソフト(Formsなど)では、クロス集計表のマス目の背景に棒グラフを表示できるものもある。(※第一学習社『情報I』で、テキストマイニングのツールの表だが、そういう画面を紹介)
たとえ上記アンケートの女性の「している」15%の棒の長さを基準とした場合、「していない」30%の部分では2倍の長さの棒が背景に表示されるわけである。
男性の「していない」35%では、女性の「していない」よりも、さらに少し長い棒が表示、という感じの機能が最近の表計算ソフトにある。

棒グラフなのに、間隔が等間隔でない例。円グラフなのに中心が円の中央でない例。 ※実教出版
3Dの円グラフは、手前が大きく見えるので、観客をダマす結果になりやすい(※ 東京書籍、実教I 巻頭 見開き、)。
(※ 範囲外)こういう、余計な装飾や余計な情報などによって分かりづらいグラフ、誤解しやすいグラフのことを「チャート ジャンク」と言う。なお「ジャンク」とは、ガラクタという意味の英語。

ほか、アンケートの選択肢を作る際など、初心者によくあるミスとして、自分にしか分からない表現でアンケート文を作ってしまうミスがあります。
たとえば
のようなミスです。
これはます、1日あたりなのか1週間あたりなのか不明です。
家庭学習の時間を聞いているのか、それとも学校の時間を入れるのか、あるいは塾の時間を入れるのかも不明です。
あと、1時間の勉強をしている人は、選択肢1なのか選択肢2なのか、どっちも不明です。
学校の図書室での自習は? 部活で勉強させられている場合は? ・・・などなどです。
文科省の動画教材で、上記の例があります。
これを正しいアンケート文に直すなら、たとえば
のようになります(上記は一例)。
アンケートを作った本人は、本人の習慣を暗黙の前提にしてしまいがちなので、回答者に必要な説明が不足しているアンケート文を設計してしまうミスもよくあります。
こういうミスは自分1人では気づきづらいので、アンケートを完成させる前に、確認として友達など数名といった誰か他人にアンケートを読んでもらって、分かりづらいところを指摘してもらうのが良いと思います(文科省の動画教材でも、友達などに読んでもらうように指導している)。

高校レベルを大幅に超えるが、デジタル庁が、行政機関むけのフォーム設計のガイドラインを作ってたので、参考に。
要点は
現状、Googleフォームに文字数カウントの機能は無い。だが、記入可能な文字数の表示などは心がけで出来る。
なお、最大文字数などの設定をしたい場合は、なお各フォーム右上のドロップダウンを「段落」にして、右下の(...)をクリックして、「回答の検証」にチェックを入れると、最大文字数などの設定が現れるので、設定できる。
Googleフォームには現状(2024年)、制限文字数を自動表示する機能は無い。
自由記述は、上記のように管理が難しい。なので極力、ラジオボタンやチェックボックスなどといった、自由記述ではない方式を使うのが安全である。

自由記述は、なるべくアンケートの最後のほうに持ってくるのが望ましい。アンケートの前のほうには、ラジオボタンなどの、記述でないフォームを置くべきである。
なぜなら、そうすることで、ボタンで回答したことは記述しなくて済むので、回答者にとって記述がラクになる。
また、アンケート収集者も、ボタンで聞けることを文章で読まなくて済む。双方にとって利益があるので、自由記述欄はアンケートのさいごのほうに置くことになる。
また、アンケートで1つの記述欄をもうける際も、ラジオボタンつきの質問に分解できるかどうかを検討したほうが良い。
たとえば文化祭の演劇のアンケートで、
(よい例)
のようにラジオボタンつきの追加質問を前置きして分解すると、回答者は書きやすくなるし、またアンケート収集者も集計しやすくなる。
なお、ややダメな例 ↓
となる。
Google フォ-ムの場合、ラジオボタンを使う方法以外にも、ドロップダウンを「均等目盛」にする方法もある。
目盛にはラベルをつけられないので、説明文のほうにラベルを一覧記載することになる。つまり
のようになる。
「全数調査」
「標本調査」
数学の教科書に書いてあるので、それを参考にせよ。
「期待値」、「ヒストグラム」など統計の数学用語は、情報iでも習う。
中学でも習ったが、ヒストグラム(度数分布)は、1次元のデータ全体を見渡したい時に使う。
散布図は、2つのデータの関連を見るのに使うものなので(たとえばクラス全員の数学の得点と物理の得点の関係とか)、1次元のデータだけ(たとえばクラス全員の数学の得点)を見たい場合は(散布図ではなく)ヒストグラムを使う。
「分散」や「標準偏差」など高校1~2年レベルの数学の用語は、情報iでも習う。
「箱ひげ図」
やや発展的だが、実教出版の教科書で「二項分布」、日本文教出版で「χ(カイ)二乗検定」、を習う。
データベースによく用いられるソースコード上での記法の形式には、CSV (シーエスブイ)形式や XML(エックスエムエル)形式 や JSON (ジェイソン)形式などがあります。こういった形式だと、機械が解釈しやすいです。
CSVはデータをカンマ(コンマ、「,」)で区切った形式です。(※「カンマ」か「コンマ」の違いは教科書会社ごとに違う。実教がカンマ、第一がコンマ)
なお、実教も第一も、CSVとかの単元のあとに「外れ値」とかの概念の単元を教えている。

データベースの常識として、バックアップを定期的にとる必要がある。(数研出版、東京書籍「情報II」の図)普通、バックアップと言った場合、外付けハードディスクやDVDなど別の記録装置に保存することである(※ 数研)
なお、ミラーリングという技術とは別物である(※ 数研)。。
一方、ミラーリングは、通信トラブルなどハードウェア的なトラブルにそなえて、データの保存時に、そのコンピュータのOSが接続している本体コンピュータの保存ストレージとは別に、別の保存ストレージにも同期して保存する技術である。ミラーリングだと、操作者自体が誤操作によって本体ストレージから消した場合、同期して別ストレージからもデータを消してしまうので、このような場合はミラーリングでは対処できない(※ 数研出版など)。
ミラーリングよりもバックアップのほうが比較的に安全である(※ 数研出版の見解)。
大企業や大官公庁などのデータベースは、利用者からは一つのデータベースに見えるが、実際は支社ごとのデータベースだったりして、それぞれの支社データベースからの情報をユーザー利用時に仲介システムでひとつにまとめているだけに過ぎない事もあり、このような仕組みを分散データベース(※ 東京書籍)または分散型データベース(※ 第一学習社)。
分散データベースの利点として、アクセス集中を防げるため負荷の軽減や、また、もし事故などでデータベースが一つ壊れても、他のデータベースが生き延びるので被害を最小限におさえられる、などの利点がある。
データベース管理システムをDBMS(ディビーエムエス)と略記することもある(実教I、東京書籍 II)。リレーショナルデータベース管理システム RDBMS という表現もある(実教 II)。
銀行の取引履歴などもデータベース(※東京書籍 II)。金融機関もデータベース(※第一)。「金融機関」といったら、第一の想定しているのは銀行や保険とかだろうけど、証券取引所とかもデータベースだろうから・・・。
どのDBMSも、データの一貫性を保つため、一つのデータテーブルを、複数人が同時に変更できないようになっており、先にアクセスしたほうがロックをかけ操作終了までロック中で(日本文教I)、このような仕組みを「排他制御」などと言う(東京書籍II)。
どのDBMSも、「障害回復」のため変更記録のログを保存しており(日本文教I)、このため、現在データに不整合などが起きてもバックアップできる(日本文教I、東京書籍II、第一Iなど)。
裏を返すと、データ変更履歴以外の画面などの雑多な操作はデータベースとは切り離されている(日本文教I、開隆堂I)。また、このような切り離し・独立性のある仕組みのため、データ以外の関連プログラムに不具合があって修正するときも、データに影響を与えないので、安全に修正できる(第一)。
また、ユーザーごとにアクセスできるデータに制限をかけることができる。ユーザーAは 接続(読み取り)〇・参照〇・更新× とか、ユーザーBは接続〇・参照〇・更新〇 とか、ユーザーCは接続×(必然的に参照も更新も×)とか、制御できる(日本文教I)、こういう機能をアクセス制御(access control)という(日本文教出版II、第一学習社I)。(※英訳は日本文教出版I、数研I)
アクセス制御の「更新」は「変更」ともいい、文字通り内容を書き換えることは当然に含むが、さらに削除も含む(※第一学習社I)、なかなか強い権利である。
データベースのアクセス権の「読み取り」は一般に、内容の表示も含みます(第一学習社)。
データベースソフトの種類によっては、上記のような3パターン(接続/参照/更新)だけではないソフトもあり、もっと細かく制御できるデータベースソフトもあります。(日本文教出版I)。たとえば「データの追加は認めるが、データの修正は認めない」といった細かなアクセス制御が可能なデータベースもあります(日本文教出版I)。
なお、こうしてアクセス制御などで与えられた各ユーザーごとのそれぞれの権利の状況をアクセス権という。
データベースの「管理者」と言われる人が、こういった各ユーザーのアクセス権を管理している(※第一学習社 I)。(もし管理者以外の誰でもアクセス権を制御できてしまうと、セキュリティなどの意味を持たないので、管理者だけがアクセス権を制御できる仕組みになっていたりする。)

代表的なデータベース言語であるSQLにはデータ型があるのだが、しかし実教出版『情報II』ですたTEXT型しか紹介していない。JacaScriptとかPythonなどの(比較的に)モダンな言語とくらべて、SQLの言語の型は難しい。 東京書籍の情報IIは、月日の入力で数値型や日付型っぽい概念をにおわせているが、しかし型の概念はデータベースの単元では紹介していない。(※そもそも型の概念を、実教ですら紹介していない。
東京書籍は、これらの話題を「整合性」に分類。
たとえば、大手通信販売サイトは、毎日、多くの人の購入履歴のデータを入手しています。
また、コンビニなどは、POSシステムによって、どのような客層がどのような商品を購入しているかといったデータを、本社などに届けています。そして、このような購入履歴などの膨大なデータは、商品開発などにとても役立つデータです。
こういった、多くの人などについてのデータといった、多様かつ膨大なデータのことをビッグデータ(big data)と言い、活用がされています。 (※ 数研、実教I に英訳 big data あり)
また、ビッグデータなどのデータから価値ある分析をするための学問として、数学や統計学やコンピュータ科学などを活用して大量のデータから意味ある情報や規則性などを見つける学問である「データサイエンス」(data science)と言われる学問も発達してきています。(日本文教出版 I)
ソーシャルメディア(SNS)への短文投稿も、毎日多くの人が投稿しているので、みんなの投稿をあわせればビッグデータです(※数研、第一学習社)。
ほか、自動車などのGPSのデータも、ビッグデータです(※数研)。なお、災害時には自動車の位置情報データが「通れた道マップ」などに応用されます(※日本文教出版 II)。

GPSというと、携帯電話のGPS通信などによる位置情報は、実際は近くの基地局との通信です(※東京書籍『新編 情報I』P36)。端末に「GPS」通信などと表示されていても、実際は基地局のIDを読み取って自機の位置を知る手がかりにしている場合も多い(日本文教出版 II)。
なお、携帯電話、スマートフォンは、つねに基地局との通信のために微弱な電波を出しています(東京書籍I・II)。
ひとつの基地局がカバーしている範囲を「セル」と言う。移動しても通話が切れないのは、基地局からの電波が一定以下になると自動的に別の基地局からの電波に切り替わり、セルが移動先の別基地局のものに切り替わるからである。
なお、携帯電話やカーナビなどのGPS位置情報システムは、4つ以上の人工衛星からの情報をキャッチしている。誤差を無視すれば空間座標のx,y,zの3つぶんの衛星で良いはずだが、実際には誤差が発生するので4つ目の人工衛星からの電波が必要になる(※ 数研出版、日本文教出版II)。また、衛星からの電波状況が悪い場合などは、上述のように基地局などとの通信による位置情報に自動的に切り替わる。
経済産業省などが、日本中の小中高生の学習履歴や成績などのデータをデジタル上で集めて、教育用のAIのためのビッグデータを作ろうとしています。
1990年代からもテスト業者の模擬試験などでコンピュータなどを活用して受験者の弱点分析などもしていましたが、2020年代以降に国によって学習履歴が収集されれば、かなりのビッグデータになります。
AIをこれらの教育ビッグデータ技術につなげようとするアイデアも、もう考えられています。すでに一部の塾などがAI活用しており、それを経産省が調査しています。
実際に国家によってビッグデータ化される場合は、生徒のプライバシーなどの議論もそのうち出てくるでしょう。
たとえば、夏の暑い日々、アイスクリームが売れます。いっぽう、夏は暑いので、熱中症の患者が増えます。
なので、アイスクリームの購入数のデータと熱中症のデータには正の相関がありますので(両方とも厚い時期に使うので)、アイスクリームと熱中症に相関関係はあります。
しかし、だからといって「アイスクリームを食べると熱中症になる」といった因果関係はありません。
このように、相関関係があることと、因果関係があることは別の現象です。
相関関係があるのに(正の相関、または負の相関があるのに)、因果関係がない2つの現象について、そのような2つの現象を疑似相関(ぎじそうかん)といいます。
別の第3の変数によって、2つのデータとも因果関係があって相関があるとき、2つのデ-タは相関が発生します。
たとえば、夏の暑い日々の話なので、「気温」というデータが、その第3の変数です。上記の例の場合なら、気温に気づけるかどうかがポイントです。
相関関係があるのに「疑似相関」というのは日本語として変ですが、しかし英語でそういうので( Spurious correlation は直訳で「見せかけの相関」と言う意味)、あきらめてください。

なお、上記の例の「気温」のように、直接調べている2つのものに影響を与えている、直接は調べていない第三の因子のことを「交絡因子」と言います。(東京書籍の副教材で紹介しています)
※ 「交絡因子」は基本的には情報IIの範囲。ただし、数研が情報Iで傍注で紹介している。
「チョコレートがよく売れる国では、ノーベル賞の授賞者が多い」なんていう話題が2010年代に話題になりましたが、これもおそらく疑似相関でしょう。
貧乏な国は、チョコレートが買えない人が多いからです。チョコレートに限らず、貧乏な国では買えないようなものなら、同様に調べれば疑似相関の結果となるでしょう。
「過学習」(overtraining)とか「過剰適合」(overfitting)とか「オーバーフィッティング」とか言って、(※ 日本文教出版が「オーバーフィッティング」で用語のみ紹介。東京書籍がグラフありで過剰適合、過学習で紹介)
たとえば
変数の次元を増やしすぎたり(たとえば5次式とか8次式とかもっと多い次数とか)すると、たとえば散布のすべての点がプラスなのに、近似曲線がマイナスに入る場合もある。特に、一つ目の例に示したグラフでは両端がマイナスに入ってるように、縁の誤差が大きくなりやすい。
もちろん、実験対象によっては実際にマイナスになる可能性もあるが、しかし測定対象の種類によってはマイナスがありえないものもある。(たとえば「長さ」とか「重さ」だと、相対値以外ではマイナスはありえない。)
過剰適合は、人工知能などがブームになる前から、近似曲線や統計学などの理論で古くから知られていた問題だが、しかし近年は人工知能などでも過剰適合は問題である。
このような現象は、過去の測定データから未来を予想するときにも問題になりやすいので、人工知能などの機械学習でも問題になることが懸念されている(だから「過学習」と言っているわけで)。

ほか、別の例としては、全体的に見れば比例的な形をしているのに、細かな蛇行に気を取られるような適合も、むやみに次数を増やすと、起こりがちである。(実教出版がこのような例を出している。)
近似曲線は、誤差を小さくすることにとらわれず、全体的な傾向を見出すために使う必要がある。
曲線がマイナスに突入していなくても、曲線が蛇行し始めて谷が3個も4個もあるいはそれ以上もいる状態は、そろそろ端部がマイナスに入り始める前兆なので、よって安全のために、もっと前の段階で(せいぜい谷が1~2個の段階で)近似式の次数を上げるのを止めることも多い。(「 実教出版も東京書籍も、谷が1個の段階で近似を止めている。)
余談だが、過剰適合の現象では特に両端で誤差が大きくなりやすいので(※実教出版の見解)、使用する範囲よりも大きい例をあらかじめ実験して測定しておくのも、ひとつの有効な対策である。
たとえば1つ目の例ではx=16までしか測定していないが、もしx=20まで使うなら、余裕をもってx=25とかx=30くらいまで測定しておく、というのもテクニックである。
検定教科書では述べていないが、情報科学、情報工学だけでなく機械工学や電気工学や土木工学などでも、近似曲線を使うことが多い分野があるので、過剰適合は問題になる。高校・大学の教科書で与えられた公式だけを使っている学生の段階では、まだ過剰適合に遭遇しないが、しかし会社や研究機関などの実務で、自分で近似式をつくる必要が出てくると、過剰適合の問題に遭遇することになる。
(※ 範囲外)曲線グラフなどで測定範囲の外を予想するのを「外挿」(がいそう)と言う。いっぽう測定範囲の内側のまだ測定してない点を予想する「内挿」(ないそう)という。例で分かるように、外挿は誤差が大きくなりやすく、危険である。
「過学習」「過剰学習」ともいうように、機械学習とも関係がある。というか、機械学習の分野で「過学習」という用語が使われている。
機械学習の場合は、狭い範囲の訓練データに過剰適合してデータ外でトンチンカンな対応をするプログラムに育ってしまうことが「過学習」。
機械だけでなく、私たち人間もそうならないように、時には視野を広く持ち、時には範囲外のことも学ぶ必要がある。
生徒番号などは、重複があってはなりません。
リレーショナルデータベース(RDB)に登録されたデータにも、ID番号の重複があってはなりません。
RDbにおいて、ID番号のように、重複を許さないデータが「主キー」(primary key)です。※日本文教出版『情報II』
普通のデータベースソフトなら、キーに設定している項目が重複すると、そもそもそのデータの登録自体が出来ないか、もし登録できたとしても警告などが出るでしょう。
これが表計算ソフト(Excelなど)とRDBの違いです。表計算ソフトはそこまで気が利いてません。

たとえば、ある高校の図書室の書籍の貸し出し状況のデータ表を作る際、まず事前に、生徒データ表、著者名データ表、書籍名データ表、などを作らないといけない(※東京書籍の例。日本文教出版もER図の単元で図書館システムを例にしている)。
東京書籍は説明していないが、著者名と書籍名をさいしょから一つのデータベースにまとめてはダメな理由がある。
まず、書籍名データベースにもし一つ一つ著者名を入力すると、たとえば著者が半角英数と全角英数とで別著者として認識されたりしてトラブルにつながる。
たとえば架空の漫画家「フジ・F・藤太郎」と「フジ・F・藤太郎」が別人だと判定されたら面倒である(Fが全角か半角かとか、「・」が全角か半角か、など)。
また、ID化しないと、検索に時間が掛かりかねない。
なお、こういうのを「表記ゆれ」と言う(※実教出版「情報II」で紹介)。表記ゆれを防ぐため、あらかじめ入力前にルールを決めておく必要があります。もし表記を統一しないまま入力してしまった場合、あとで表記を統一しなおすため修正入力する必要があり、これを「名寄せ」と言います。
人名のほか、年月日でも「西暦2019年11月16日」と「2019/11/16」と「令和元年11月16日」と「令和1年11月16日」みたいに表記方法はいくつもあるので、注意が必要です。
なお、ISO 8601 で規定されているのはハイフン方式の「2019-11-16」および区切り記号なしの「20191116」のような方式です。スラッシュ方式はISOでは禁じられているので、データベースの日付入力では避けるほうが安全です。また。日本のJIS規格でもISOに準拠して、同様のハイフン方式を採用しています。スラッシュ方式は、データベース以外・プログラミング以外の日常言語だけで用いるほうが安全でしょう。
同じ理由で、出版社名もできれば事前にデータベース化すべきだろう(※東京書籍の検定教科書の例ではそうなってないが)。情報処理学会の動画でも、メーカーは別テーブルにしろと言っている情報処理学会『3. データベース (5) データベースの設計(情報通信ネットワークとデータの活用)』 (4分00秒ごろ)。このようなテーブル分割は「正規化」(せいきか)と言われる処理の一種である。もしテーブル分割しないと、出版社名やメーカー名に紐づけしている会社所在地などの付随情報がもし引っ越しなどで変更したとき、その出版社・メーカーについての何万件もあるようなすべてのデータベース登録項目を手動で修正する必要があるので、ふつうの人間では無理であるので。
東京書籍の例では、「生徒表」「書籍表」「著者表」「貸出管理表」の4つから学校図書館 貸し出しシステムを構成している。
そして、貸出管理表には、貸出番号(101, 102, 103, ・・・のように1ずつアップしていく)と、借りられている書籍名のIDと、生徒番号のIDと、返却日の記録する。けっして直接は書籍名や生徒名は入れない。
そういった理由からか、まず
著者名データベースで、著者名IDと著者名を定義する必要がある。
そして、書籍名データベースでは、著者名は直接は入力せず、代わりに著者名IDを入力していく必要がある。

SQl用語の「選択」「射影」「結合」など、『情報の科学』時代から教えられており、情報IIでも引き続き教えられている。
実教『情報II』は紹介するsql言語にSqLite(エスキューライト)を採用。pythonにも組み込まれている。(実教の情報IIがpython推しだからだろう。)

Excelファイルには、パスワードをかけることができる(※ 第一学習社)。特に秘密度の高いデータなどの管理では、パスワードをかけることもある。
データベースの集合演算の、「和集合」演算とか「差集合」演算とか(※ 第一学習社の『情報II』検定教科書にもあります)、情報処理学会の動画で説明されているので、視聴してください。情報処理学会 『3. データベース (2) リレーショナルデータベースの考え方(情報通信ネットワークとデータの活用)』 (5分00秒ごろ)
データベース独自の演算である「射影」演算などについては、リンク先動画の6分00秒ごろにあります。
「射影」は指定した列だけを取り出す演算のことです。
「選択」は、特定の条件を満たす行を取り出す演算のことです。
「結合」は、共通する列をもつ複数の表の列をあわせて(※ 情報処理学会の動画)、ひとつの大きな表にすることです。

ほか、SQLに関して、ワイルドカードを教えている(実教出版 II、日本文教出版 II)。
SELECT * FROM テーブル において、アスタリスク記号「*」は、「すべて」の意味を持つ。つまり、「テーブルの全部の列を表示しろ」という意味になる。
上述のような「すべて」という意味でのアスタリスク記号のことをワイルドカードと言う。
なお、SELECT 機能は、ワイルドカード以外を使った場合は、「射影」に相当する。なぜなら SELECT命令は列を取り出す命令なので。(※ 情報処理学会の動画)
経産省および独立行政法人 情報処理推進機構が、現代のIT人材に必要な能力の目標の例を定めており、経済産業省・情報処理推進機構『デジタルスキル標準』ver.1.1 ,2023年8月』 で定めています。
このデジタルスキル標準によると、データ分析の際、一次情報と二次情報の区別も定めています『デジタルスキル標準』P.42 。
経産省がこの情報Iのデータ分析の単元と近いことを資料で説明しているので、せっかくだから、ついでに、文科省だけでなく経産省の目標にも役立つ知識にアップグレードしてしまいましょう。
なお、日本国の内閣官房が、文科省や経産省に対して、デジタル人材育成の教育で連携しろと命令してます。
では、下記に一次情報と二次情報とは何かを説明します。
実際に自分の目で確かめたとか、政府の統計など余計な判断が加わってない情報、あるいは、それらに近い情報を一次情報と言います。
一方、他人の選別や加工が加わった情報のことを二次情報と言います。(※数研出版『情報I』、東京書籍『情報II』)本やインターネットなどの情報はふつう、二次情報です(東京書籍)。
アンケートやインタビュー、実験などによって得られた情報は一次情報です。(東京書籍)
経産省らの資料では、データの検証は基本、一次情報で検証しろ、と言っています。「一次情報を用いたデータの検証」という語句が経産省の資料にあります。
実際には、一次情報は集めるのに時間が掛かるため、二次情報も集めざるを得ないのですが(数研)、二次情報の検証法についてはメディアリテラシーの単元でまた説明します。

経産省の資料に、下記のリストが書かれています。
仮説の構築や修正は、PDCAサイクルなどで現実を見ながら修正してください。(※なお、検定教科書では、実教I、日本文教出版I、数研I で記載をPDCA法の確認。)
「一次情報を用いたデータの検証」は、先ほど話しました。
データの片寄りは、これは高校生では、費用や時間の限界で、対処のしようがありません。
大人になってから、必要な人が、検証したいことについて、色々な観点のデータを集めることで、片寄りを減らしてもらうしかないでしょう。
とりあえず、ネット上での意見サイトには、「サイバーカスケード」という、そのサイトに集まる仲間内で情報が片寄る現象が知られているので、サイトは基本的に片寄ってることを前提にするのが良いでしょう。
出所(でどころ)や更新日は重要です。
たとえ形式的にCSVファイルとかJSONファイルとかの形式のデータでも、出所が不明だったり更新日が不明なデータは、信頼性が低いと疑ったほうが良いでしょう。
「分析アプローチ」以降は、私たちにはどうしようもありません。以降は専門家の大人たちに任せましょう。
リレーショナルデータベース(RDB)以外にも、他の種類のデータベースもあります。
「階層型データベース」や、「ネットワーク型データベース」です。
しかし、データベースソフトとしては、RDB以外の種類は、あまり使われていません。
資格試験とかに出てくるからか、検定教科書では書いてありますが、2020年代では、ほとんど使われてない技術です。
しかし、裏を返せば、RDB以外の種類のデータベースを反面教師として、RDBは発達したわけです。
では、反面教師として、学びましょう。
階層型データベースというのは、たとえるなら、パソコンのフォルダシステムのようにデータを管理する方式です。
銀行の中枢システムみたいなマニアックな用途でしか、階層型データベースは使われていません。(たとえばIBMのw:IMS、その互換の日立AMD、富士通AIM くらいです)
そもそも、このIBMのIMSは、データベース言語がSQLではなく「DL/I」という独自言語です。
つまり、SQLしか教えない検定教科書は、暗に、階層型データベースを非推奨としているのが実態なわけです。立場上、教科書会社は表立っては階層型データベースを批判していませんが。
IMSは、1970年代からある、古いデータベースです。
なお、21世紀にらIMSはSQLでも入力できるようになりましたが、しかし内部では DL/I に変換しているのが実態です。単にユーザー側のインタフェースだけSQL対応しているだけです。オラクル社がそう言っていますOracle Application Server Adapter for IMS/DBユーザーズ・ガイド で(※ 引用)「SQLは、バックエンド・ドライバでIMS/DBで認識される言語に変換され、IMS/DBに渡されて実行されます。」 だと。
IMSはコボル(COBOL)とかそういう古い時代のレガシー技術なので、今の学生は勉強しなくていいです。レガシー技術は、仕事で必要になった人が仕方なく勉強するものです。IT技術者の勉強では、なるべく新しい技術や、市場で普及した技術を勉強しなくてはいけません。

あと、階層型データベースというのは、たとえるならパソコンのフォルダシステムのようなものなのですが、
Windowsなどのある現代では「だったら、最初からパソコンのフォルダでデータ管理すればよいのでは・・・?」という代替方法もあります。
(なお、IMSの登場した1970年代ごろは、まだWindowsがありませんでした。そういう時代のデータベース技術です。MS-DOS (エムエス ドス)登場の1981年よりも、ずっと前の技術です。)
階層型データベースの欠点として、複数の親フォルダに使われるデータがある際、重複登録しなければならない、という欠点があります。
まさに、現代のフォルダ管理と同じです。
※ ネットでは語られませんが、問題なのは、データの更新のときです。重複登録されたデータがある場合、片方だけを更新しても、残りの重複データには更新が反映されません。

なお、データベースに限らず、フォルダで情報を管理するときのコツなのですが、あまりに階層を深くし過ぎると、探しづらくなります。なぜなら、「あのデータ、どこの階層にあったっけ?」って思い出す必要が生じてしまうからです。まあ、ファイル検索で探せますが。しかし、そもそもファイル検索で探すなら、ファルダ分けをする必要自体がありません。
まあ、せいぜい、たとえば「画像 2023年」みたいに大まかな年やコンテンツ種類などを記載したフォルダを作っておき、そこに画像は全部入れておくのが、現代ではコツです。
OSにはファイル検索システムがありますので、ファイル名のほうに、たとえばファイル名で「アニメ オニスレイヤー画像1」みたいにファイル内容が分かる命名にしといて、その画像を探したくなったらファイル検索で「オニスレイヤー」と入れて探せばいいのです。
フォルダ分けの分類は、あるていど画像が何十枚もたまってから、あとから分類を行うのです。もし画像が1つしかない段階で、いきなり分類しても、ピント外れな分類になるだけです。

で、1970年代の昔は、検索システムがあまり高速ではなかったので、フォルダを深くするように階層を深くしたデータベースにも意義はあったかもしれません。
ですが、2020年以降の現代は違います。
パソコンの性能が低かった1970年代と比べたら、現代はぜいたくな環境があるので、そのぜいたくな環境を活用したシステム構築やプログラミングをするほうが、バグなども少ないプログラミング等ができます。
このような、ぜいたくな最新環境を活用するノウハウのことを日本のプログラマー界隈では俗(ぞく)に「富豪的プログラミング」と言います。
富豪的プログラミングを提唱した日本人プログラマーは下記のように述べています。
階層型データモデルの欠点もまさにこれと同じで、ともすれば、プロトタイピングをロクにできない状態でデータ構造を設計しなければなりません。なので、設計者にかなりの技量が必要です。RDBに淘汰されて普及しなかったのは当然です。
21世紀におけるソフトウェア設計のコツとして、決していきなり処理速度の速いソフトウェアを作ろうとすべきではなく、まずは、処理速度が遅くてもいいので、プログラマーが作りやすくてユーザーにも使い勝手のいいソフトウェアを試作(プロトタイピング)して実際にテストして検証して、あとから処理速度を高める改修をしていくのがコツです。
使い勝手が悪いせいでロクに市場でユーザーに使われておらず検証されないソフトウェアの速度が高くなるように設計できても、なんの意味もありません。なぜなら、そもそも使われないので。

]
とりあえず相関関係のある現象を発見したとして、それが因果関係か、それとも単なる相関関係なのかを区別するための研究手法について、これから述べる。
実用的なレベルで、因果関係を完全に証明するのは、難しい。
それこそ、科学者のように、膨大な研究が必要になってしまう。
しかし、それだとビジネスにならない場合が多いので、とりあえず、ある程度の検証を満たせば、疑似的に因果関係のようなものだと見なして、ビジネスに適用してしまう方法もある。
総合理科などの科目でも習うが、対照実験という手法が、理科での証明の基本である。
しかし、社会などを扱う場合、対照実験をするのが難しい分野もあり、対照実験に膨大な時間やコストが掛かってしまう分野もある。
対照実験では、変数を一つだけ動かさないといけない。しかし、社会などでは、それが難しく、どうしても他の変数も動かさないといけなくなってしまう事も多い。
そこで、そのように他の変数も動かさないといけない場合でも、なんとか疑似的に因果関係のようなものの検証をする必要がある。
たとえば新薬の検証をする際、薬を投薬したグループと、そうでないグループとで、誤差と思えない程度に大きな差が現れれば(なお「有意差」(ゆういさ)と言う)、とりあえずの効果があるのだろうと推測するのが実態である。
医療などの分野では、ランダム化比較試験(randomized controlled trial、RCT)と言って、実験対象を2つ以上のグループにランダムに分けて、対照実験のようなものをして、有意差があれば、とりあえず効果がありそう、だとして候補にする。
人間の体は、けっして1個の変数では表せないので、本来は2個や3個ていどのグループ分けでは不足であり、もっと膨大にグループ分けしないと証明としては論理的には厳密ではないが、それだと費用が掛かり過ぎるので、よって2~3個ていどのグループ分けでも良いとして、代わりに、可能なかぎりなるべくランダムに分ければ良いとされる。
ここで要求されるランダムさは、サイコロなどで得られる程度のランダムさもあれば十分である。現代ではコンピュータで発生させる乱数でも十分である。
このRCTは、データサイエンスの分野にも、すでに取り入れられている。このように、医療分野の統計手法だろうが何だろうが、使えそうなら取り入れるのがデータサイエンスである。
このように、ランダム化比較試験は、対照実験を疑似的に行う手法である。
IT業界や広告業界などだと「A/Bテスト」というのがあるが、これもRCTと似たような発想である。A/Bテストとは、たとえば、ある広告に校歌があるかどうかを検証したい場合、統制下の集団を、広告を見せたAグループと、見せてないBグループとに分けて、比較する方法である。
医療の場合、RCTでの検証以降にもさまざまな検証があるが、しかし医療以外の規制のゆるい産業ではそこまでの検証を求められずに、場合によっては簡易なRCTまたはA/Bテストによる検証に合格した成果がある開発製品ならば商業化するのも普通である。
RCTでもA/Bテストでも、充分な人数を対象に効果が出れば、とりあえずの再現性があると見なす。
高校「情報」教育では他の単元で「プロトタイプ」を教えるが、結局、上記の程度の検証を潜り抜ければ充分なので、なので試作(プロトタイプ)をつくって実験と簡易な改良をさっさとしたほうが良いのである。その程度で十分なのである。

ビジネスマンの数値化思考を例に、大学レベルの抽象的な数学の話をしよう。
なお、下記は、とりあえずの仮説であるので、決して鵜呑みにしてはいけない。社会のような抽象的なものごとを考える際は、仮説でもいいので、まずは思考のとっかかりを考えるのである。こういうのを「仮説思考」と言う。
頭の中に、とりあえずの仮説をつくり、それを新しい事を学んだら適宜(てきぎ)、より正しい新情報をもとに従来の自分の仮説を修正していくのである。
抽象的な大学レベルの数学の使い方とは、このコラム例のように、一見すると別々の分野の知識を、その構造の共通性に注目して、結びつけて理解することです。
裏を返すと、単にマニュアル通りのことをするなら、あまり高度な数学は必要ありません。