到達目標
1. 統計的手法を用いてデータを考察できる
2. 回帰・識別問題が解ける
3. 数式をプログラムで計算できる
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
統計的手法を用いてデータを考察できる | 各種回帰式や分類手法を用いてデータを説明できる | グラフ,平均,4分位数,標準偏差,相関係数を用いて、データの特徴を説明できる | 単回帰式を作成できない。単回帰式の妥当性を説明できない。 |
回帰・識別問題が解ける | 機械学習を用いて回帰または識別ができ、未知データを予想できる | 機械学習を用いてデータのパターンを学習できる | 機械学習を説明できない |
数式をプログラムで計算できる | ニュートン法や数値積分などを用いて計算ができる。連立方程式が解ける。 | 行列の計算ができる | 数式を関数に実装できない |
学科の到達目標項目との関係
教育方法等
概要:
本講義は、土木・建築系技術者に必要なコンピュータを使った計算と統計的な処理について学ぶ科目である。構造設計などで必要とされる数値計算の基本能力と、データを他者に説明する際に必要となる可視化や多変量解析の能力を身に着けることを目指す。
※実務との関係
この科目は、企業でプログラミングを伴うソフトウェア開発を担当していた教員が、その経験を活かし、数値計算などについて講義及び演習形式で授業を行うものである。
授業の進め方・方法:
講義では、まず実験レポートを意識してExcelを用いた基本統計とグラフ作成を扱う。また、就職後にすぐに役立ちやすいExcelのマクロを紹介する。その後、プログラムを用いた数値計算と多変量解析へと進む。毎回の授業では、まずスライドを用いて手法を説明し、その後に演習を行う。データに対する考察は非常に時間を要するため、試験では基本的な計算手法が身についている事を主に評価し、レポートを通じてデータを考察する力を主に評価する。
本講義でプログラミングに利用するPythonは、流体力学・材の強度解析・気象シミュレータ・自然言語処理・各種科学計算が得意な汎用プログラミング言語である。コンピュータグラフィクス(CG)や地理情報システム(GIS)や建築プログラミングでも使われている。Googleが提供するColaboratoryはインターネットにつながったブラウザさえあれば、どこでもPythonプログラミングを無料で試すことができるので自習に活用して欲しい。
注意点:
*データについて良い考察を行うために、データを良く知ろう。
*データ分析の流れを頭に入れよう。
*授業を聞いただけで理解できる人は居ません。手を動かしましょう。
*プログラミングは、開発手順やアルゴリズムをプログラムで表現することに慣れることがまず大事です。
*プログラムをとにかく書いて実行してみてください。デバッグ(ミスの発見)方法の習得が上達への近道です。
*講義に関する連絡はTeamsで行います。
*レポートの提出遅れは、別途定めた期間までの提出の場合は評価を下げます。以降は0点です。計画的に取り組みましょう。
*欠席した場合、欠席分の講義資料を確認して提出して下さい。なお、体調不良で休んだ日数分は提出期限を延長します。
*試験時間中以外は、教え合いを推奨します。
*試験において、基本的なプログラムで解答する設問に部分点はありません。
*再試は必ずしも実施しませんが、実施した場合の得点pは、p = (本試の点数 + 2*再試の点数) / 3で求めます。
*講義中に、講義に関係ないWebサイトを頻繁に視聴したり、長時間睡眠したり、スマートフォン等でゲームをしているところを発見した場合、再試験を実施しません。
*新型コロナウイルス対応によっては、試験を実施しません。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス,パソコン内における数の扱い |
講義の進め方を把握する。計算機内の数の振舞いを理解する。
|
2週 |
Excelの基本操作と統計 |
Excelの関数を用いて、平均・分散・標準偏差を求めることができる
|
3週 |
Excelを使った回帰分析とその利用 |
回帰式の精度を評価できる
|
4週 |
Excelのマクロ言語を使った計算 |
Excelでマクロを作成できる
|
5週 |
プログラミング言語Pythonと基本文法 |
Pythonの基本的な変数型を説明できる
|
6週 |
Pythonの制御構文 |
制御構文を使った簡単なプログラムが書ける
|
7週 |
matplotlibによるグラフ作成 |
散布図や折れ線グラフやヒストグラムを作ることができる
|
8週 |
中間試験 |
|
2ndQ |
9週 |
試験解説 |
|
10週 |
ファイル入出力 |
ファイルとデータの相互変換ができる
|
11週 |
数式の表現と関数 |
数式を計算する関数を実装できる
|
12週 |
数値微分 |
任意のxにおける微分値を求められる
|
13週 |
ニュートン法 |
ニュートン法を用いてf(x)=0という方程式の解を求めることができる
|
14週 |
数値積分 |
定積分を計算できる
|
15週 |
解析解と微分方程式 |
微分方程式を解ける
|
16週 |
期末試験と解説 |
|
後期 |
3rdQ |
1週 |
ベクトルの計算 |
ベクトルの計算ができる
|
2週 |
行列の計算 |
行列の計算ができる
|
3週 |
フーリエ変換 |
例えば温度の変化などのグラフが実は三角関数の合成で表現できる事を理解する
|
4週 |
pandasによる表計算 |
pandasを用いて基本統計量・相関行列・偏相関行列を求められる
|
5週 |
表データの抽出や新規作成 |
データから条件をつけて抽出できる
|
6週 |
確率密度関数と正規性の判定 |
確率密度関数を説明でき、データの正規性を判定できる
|
7週 |
2群間の平均値の検定 |
2群間の平均に差があるか判断できる
|
8週 |
中間試験 |
|
4thQ |
9週 |
試験解説 |
|
10週 |
多変量解析入門 |
データの特徴を説明できる
|
11週 |
重回帰分析 |
プログラムを用いて重回帰分析ができる
|
12週 |
ロジスティック回帰分析・判別分析 |
プログラムを用いてロジスティック回帰分析ができる
|
13週 |
機械学習入門・ランダムフォレストによる分類 |
データをランダムフォレストを使って分類できる
|
14週 |
ランダムフォレストによる回帰 |
データをランダムフォレストを使って回帰できる
|
15週 |
クラスタリング |
データの中から似たものを集めたグループを作成でき、そのグループを説明できる
|
16週 |
期末試験と解説 |
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 数学 | 数学 | 数学 | 1次元のデータを整理して、平均・分散・標準偏差を求めることができる。 | 4 | 前2 |
2次元のデータを整理して散布図を作成し、相関係数・回帰直線を求めることができる。 | 4 | 後1 |
工学基礎 | 情報リテラシー | 情報リテラシー | 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | |
評価割合
| 試験 | レポート | 小テスト | 合計 |
総合評価割合 | 60 | 20 | 20 | 100 |
基礎的能力 | 40 | 15 | 10 | 65 |
専門的能力 | 20 | 5 | 5 | 30 |
分野横断的能力 | 0 | 0 | 5 | 5 |