Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

用語集

数理生物学演習で登場する主な用語の定義をまとめる.

Python・プログラミング

オブジェクト (object)
Python においてすべての値は「オブジェクト」として扱われる.数値,文字列,リストなどはすべてオブジェクトで,それぞれ型(intstrlist など)をもつ.
変数 (variable)
オブジェクトに付けられた名前(ラベル).a = 3 は整数オブジェクト 3a という名前を付ける操作にあたる.
参照 (reference)
変数がオブジェクトを指し示すこと.Python の変数はオブジェクトの実体そのものではなく,その参照を保持する.代入 b = aa が指すオブジェクトへの参照を b にコピーする.
ミュータブル (mutable)
生成後に中身を変更できるオブジェクトの性質.リストや NumPy 配列はミュータブルで,要素の書き換えが同じオブジェクトを参照する他の変数にも波及する.
イミュータブル (immutable)
生成後に中身を変更できないオブジェクトの性質.数値,文字列,タプルはイミュータブルで,「変更」は新しいオブジェクトの生成として扱われる.
エイリアス (alias)
同一のオブジェクトを指す複数の変数(別名).b = aab はエイリアスになり,一方を通じた変更が他方にも現れる.
動的型付け (dynamic typing)
Python のように,変数の型が代入された値によって自動的に決まる仕組み.同じ変数に異なる型の値を再代入できる.
インデックス (index)
リストや配列などの要素にアクセスするための添字.Python では 0 から始まる.
イテラブル (iterable)
for ループなどで反復処理できるオブジェクトの総称.リスト,タプル,文字列,range オブジェクトなどが該当する.
コメント (comment)
# から行末までの注釈.実行時には無視される.何をしているか(what)よりも,なぜそうするか(why)を補うために書く.
関数 (function)
一連の処理をひとまとめにして名前を付けたもの.def 関数名(): で定義し,関数名(...) で呼び出す.
引数 (argument)
関数に渡す値.関数定義の () 内で受け取る変数名を宣言する.
戻り値 (return value)
関数が呼び出し元に返す値.return 文で指定する.
docstring
関数・クラス・モジュールの先頭に置く説明用の文字列."""...""" で書く.help() や Jupyter の ? で呼び出して読める.
グローバル変数 (global variable)
関数の外で定義された変数.関数の中からも参照できる.
ローカル変数 (local variable)
関数の中で代入された変数.その関数のスコープ内でのみ有効で,関数の終了とともに破棄される.
モジュール (module)
関連する関数や定数をまとめたファイル.import 文で読み込んで利用する.
パッケージ (package)
モジュールを階層的にまとめたもの.
可視化 (visualization)
数値データを図やグラフとして表現すること.
条件分岐 (conditional branching)
条件の真偽に応じて実行する処理を切り替える制御構造.Python では if / elif / else で書く.
関係演算子 (relational operator)
2つの値の大小関係や等価性を判定する演算子.Python では ==!=<<=>>= がある.Python公式ドキュメントでは比較演算子(comparison operator)と呼ばれる.
論理演算子 (logical operator)
真偽値を組み合わせる演算子.Python では andornot がある.
擬似乱数 (pseudo-random number)
決定論的なアルゴリズムによって生成され,特定の目的上は真の乱数と区別がつかない数列.Python の random モジュールではメルセンヌ・ツイスタが使われる.
シード (seed)
擬似乱数生成器の初期化に用いる値.同一シードからは同一の乱数列が再現される.
浅いコピー (shallow copy)
最上位のオブジェクトのみを複製し,内部にネストされたオブジェクトは共有する複製.list.copy() はリストの浅いコピーを返す.
深いコピー (deep copy)
ネストされた要素まで再帰的に複製し,元のオブジェクトと完全に独立させた複製.copy.deepcopy() で作る.
NumPy配列 (ndarray)
NumPy が提供する多次元配列.同じ型の要素を格子状に並べたもので,配列全体をまとめて高速に演算できる.
ブロードキャスト (broadcasting)
形状の異なる配列どうしの演算で,小さい方の配列が自動的に引き伸ばされて要素ごとに計算される仕組み.
スライス (slicing)
配列やリストから start:stop:step の指定で連続した範囲を取り出す操作.stop は含まれない.
ビュー (view)
NumPy 配列で,元の配列とメモリを共有しながら一部または全体を参照する配列.スライスはビューを返すため,書き換えが元の配列に波及する.独立した複製には np.copy() を使う.
ファンシーインデックス (fancy indexing)
整数のリストや配列を添字に渡し,任意の位置の要素をまとめて取り出す操作.
ブールインデックス (boolean indexing)
真偽値の配列をマスクとして渡し,条件を満たす要素だけを取り出す操作.
フレーム (frame)
アニメーションを構成する各時刻の静止状態.時系列の各ステップを1枚ずつフレームとして並べて再生する.

数値計算・線形代数

内積 (dot product)
np.dot で計算する.
外積 (cross product)
2つの3次元ベクトルから,両者に直交するベクトルを与える積.np.cross で計算する.
単位行列 (identity matrix)
対角成分が 1,他が 0 の正方行列.np.identity で生成する.
行列式 (determinant)
正方行列に対して定まるスカラー値.np.linalg.det で計算する.
逆行列 (inverse matrix)
正方行列 AA に対し AA1=IA A^{-1} = I を満たす行列 A1A^{-1}np.linalg.inv で計算する.
常微分方程式 (ordinary differential equation)
1つの独立変数(多くは時間)に関する導関数を含む微分方程式.
有限差分法 (finite difference method)
微分を格子上の差分で近似して微分方程式を数値的に解く手法.拡散方程式の空間2階微分はラプラシアンの差分で近似する.
ラプラシアン (Laplacian)
スカラー場の各座標に関する2階偏微分の和 2u=2u/x2+2u/y2\nabla^2 u = \partial^2 u/\partial x^2 + \partial^2 u/\partial y^2
畳み込み (convolution)
各点で近傍の値に重み(カーネル)を掛けて足し合わせる演算.
周期境界条件 (periodic boundary condition)
格子の端を反対側の端とつなげて扱う境界条件.空間がトーラス状になり,端で値が回り込む.
反応拡散系 (reaction-diffusion system)
拡散する複数の因子が互いに反応しながら,空間的なパターンを形成する系.
チューリングパターン (Turing pattern)
拡散速度の異なる活性化因子と抑制因子の相互作用により,ほぼ一様な状態から自発的に生じる空間パターン.

個体群動態・差分方程式

差分方程式 (difference equation)
離散時間における状態の変化を記述する方程式.Nt+1=f(Nt)N_{t+1} = f(N_t) の形をとる.
離散指数増殖モデル (discrete exponential growth model)
環境制約がないときの個体群動態を記述する最も単純なモデル.Nt+1=λNtN_{t+1} = \lambda N_t
離散ロジスティック成長モデル (discrete logistic growth model)
環境収容力を導入した離散時間の個体群動態モデル.Nt+1=Nt+rNt(1Nt/K)N_{t+1} = N_t + r N_t (1 - N_t / K)
マルサス係数 (Malthusian coefficient)
指数増殖モデルにおける,単位時間あたり一個体あたりの増加率.
内的自然増加率 (intrinsic rate of increase)
個体数が十分小さく,密度効果の影響をほとんど受けない状態での一世代あたりの増殖率.
環境収容力 (carrying capacity)
環境が支えることのできる個体数の上限.ロジスティック成長モデルでは KK と表記される.
密度依存性 (density dependence)
個体数(密度)が増えるほど増殖率が変化する性質.ロジスティックモデルでは項 (1N/K)(1 - N/K) が密度依存性を表現する.
平衡点 (equilibrium point)
時間が経っても状態が変化しない状態.差分方程式 Nt+1=f(Nt)N_{t+1} = f(N_t) では Nˉ=f(Nˉ)\bar N = f(\bar N) を満たす点.不動点(fixed point)ともいう.
局所安定性 (local stability)
平衡点を少しだけ乱したとき,状態がもとに戻るかどうかの性質.離散系では f(Nˉ)<1|f'(\bar N)| < 1 で安定.
分岐図 (bifurcation diagram)
パラメータを変化させたときに平衡点や周期解がどのように変わるかを描いた図.
周期解 (periodic solution)
一定の世代数で同じ状態に戻る解.離散ロジスティックモデルでは,rr がある範囲で周期 2,4,8,... の解が現れる.
周期倍分岐 (period-doubling bifurcation)
パラメータの変化に伴い周期解の周期が倍化していく分岐.離散ロジスティックモデルでは rr の増加に伴い 1→2→4→8→… と倍化し,最終的にカオスへ至る.
カオス (chaos)
決定論的なルールに従いながらも長期的な振る舞いが予測困難な動態.初期値のわずかな差が時間とともに指数的に拡大するのが特徴.

微分方程式・連続モデル

微分方程式 (differential equation)
関数とその導関数の関係を記述する方程式.連続時間モデルでは dNdt=f(N)\frac{dN}{dt} = f(N) の形で個体数の時間変化を表す.
解析解 (analytical solution)
微分方程式や代数方程式を,関数の閉じた式として求めた解.
数値解 (numerical solution)
微分方程式を数値計算で近似的に求めた解.刻み幅などのパラメータに依存して精度が変わる.
オイラー法 (Euler method)
微分方程式 dxdt=f(x)\frac{dx}{dt} = f(x) の数値解法のうち最も単純なもの.xt+Δt=xt+f(xt)Δtx_{t+\Delta t} = x_t + f(x_t)\,\Delta t で次の時刻の値を逐次更新する.

種間相互作用・力学系解析

ロトカ-ヴォルテラ モデル (Lotka-Volterra model)
種間相互作用を連立微分方程式で記述する古典的な数理モデル.被食-捕食,競争,共生など複数のパターンに展開できる.
相図 (phase diagram)
状態変数からなる空間(相平面)上に系の軌道を描いた図.時間軸を省略し,変数間の関係を視覚化する.
アイソクライン (isocline)
連立微分方程式系において,特定の変数の時間微分が 0 となる曲線または直線.平衡点はアイソクライン同士の交点として求まる.ヌルクライン(nullcline)とも呼ばれる.
ヤコビ行列 (Jacobian matrix)
多変数ベクトル値関数の 1 階偏微分を成分にもつ行列.力学系では平衡点まわりの線形化に用いる.
固有値 (eigenvalue)
正方行列 AA に対し Av=λvA\mathbf{v} = \lambda \mathbf{v} を満たすスカラー λ\lambda.局所安定性解析ではヤコビ行列の固有値の実部の正負で平衡点の安定性が決まる.
鞍点 (saddle point)
ヤコビ行列の固有値が正の実部と負の実部の両方を持つ不安定平衡点.ある方向には引き込まれ別の方向では離れていく.

集団遺伝学・確率過程

ハーディ-ワインベルグ平衡 (Hardy-Weinberg equilibrium)
ランダム交配・世代非重複・突然変異なし等の仮定のもとで,二倍体集団における遺伝子型頻度が AA:Aa:aa=p2:2pq:q2\mathrm{AA}:\mathrm{Aa}:\mathrm{aa} = p^2 : 2pq : q^2 で世代を通じて維持される状態.
遺伝的浮動 (genetic drift)
有限集団においてサンプリング誤差により対立遺伝子頻度が世代ごとに確率的に変動する現象.
ライト-フィッシャー モデル (Wright-Fisher model)
半数体 NN 個体・世代非重複・ランダム交配を仮定し,次世代の各個体が前世代から一様ランダムに親を選んで遺伝子を引き継ぐ確率モデル.遺伝的浮動の解析に用いる.
突然変異の固定 (fixation of mutation)
ある対立遺伝子の頻度が集団内で 1 に到達する事象.他方の対立遺伝子は消失する.
ランダムウォーク (random walk)
各ステップで確率的に位置が変化する確率過程.1 次元単純ランダムウォークでは ±1 を等確率に加算する.
待ち時間 (waiting time)
ある事象が初めて発生するまでに要するステップ数.

画像解析

ビットマップ画像 (bitmap image)
格子状に並んだ画素の集まりとして表現される画像.各画素に色や輝度の値を割り当てる.PythonではNumPyの多次元配列として扱うことが多い.
画素 (pixel)
ビットマップ画像を構成する最小単位.格子の各点にあたり,カラー画像ではRGBの3値,グレイスケール画像では1つの輝度値をもつ.
グレイスケール (grayscale)
各画素が輝度(明るさ)1値のみをもつ画像.縦・横の2次元配列で表現される.
カーネル (kernel)
畳み込みでの重みを表現する関数や行列.画像解析におけるフィルター操作では,平滑化・微分・先鋭化など,フィルターの性質を決める.
エッジ検出 (edge detection)
画像中で輝度が急激に変化する境界(エッジ)を取り出す処理.
モルフォロジカルフィルター (morphological filter)
幾何学的性質に着目したフィルター.収縮・膨張やその組合せ(オープニング・クロージング)により,ノイズ除去や穴埋めをおこなう.
二値化 (binarization)
画像を前景(対象)と背景の2値に分ける処理.
大津の二値化 (Otsu’s method)
輝度ヒストグラムから,前景と背景のクラス間分散が最大になる閾値を自動的に決める二値化手法.
輪郭 (contour)
興味ある対象の境界を表す線.二値画像から抽出する場合は,順序付きの点の並び(座標データ)として表現する.
形態測定学 (morphometrics)
「かたち」の定量化や統計的な解析をおこなう分野.