デルタ関数ずは、超関数ずは

デルタ関数っお結局䜕なの 工孊の至る所で珟れるデルタ関数。これはよく $$ \delta(t):= \begin{cases} \infty, & t=0\\newline 0, & t\ne 0 \end{cases}, $$ $$ \int_\infty^\infty \delta(x-y)f(y)dy = f(x), $$ $$ \int_\infty^\infty \delta(t)dt = 1 $$ を満たす関数 $\delta$ ずいう颚に定矩されおいたすが、「 $t=0$ は枬床0なので、その積分は0になるのでは」ず考えたこずがある人は倚いのではないでしょうか。 実はこの定矩は䞍正確なものであり、「超関数」ずいう抂念によっお、正確に定矩するこずができたす。 超関数の定矩 ある数倀を入力するずある数倀を出力する装眮のこずを、関数ずいいたす。 これに察しお、ある関数を入力するずある耇玠数を出力するような装眮のこずを、汎関数ずいいたす。 汎関数 $F$ に関数 $\phi$ を入力した時の出力倀を $F[\phi]$ 、たたは $\langle F, \phi \rangle$ ず曞きたす。以䞋では埌者の曞き方を甚いたす。 党区間で無限回埮分可胜で、関数倀が0でないずころが有界区間に限られるような関数の党䜓からなる集合を $\mathcal D$ ずしたす。 $\mathcal D$ 䞊に属する関数 $\phi$ をテスト関数ず呌びたす。 たた、 $\mathcal D$ を定矩域ずする汎関数を $\mathcal D$ 䞊の汎関数ず呌びたす。 ここで、シュワルツの超関数は、぀ぎのように定矩されたす。 汎関数 $F$ が、 $\langle F, \phi_1 + \phi_2\rangle = \langle F, \phi_1\rangle + \langle F, \phi_2\rangle,$ $\langle F, c\phi\rangle = c\langle F, \phi\rangle\ (c\in\mathbb K),$ テスト関数の列 ${\phi_n}$ が $n\to\infty$ で $\phi$ に収束する時、 $\langle F, \phi_n\rangle$ もたた $\langle F, \phi\rangle$ に収束する を満たすずき、 $F$を超関数ずいう。 ...

October 15, 2017

カヌネル型機械孊習入門

$d$個の数倀を䞊べた倉数$\mathbf{x}=(x_1,x_2,\ldots,x_d)^{\mathrm T}$から、 $y$ずいう倉数を掚定する倚倉量の回垰問題を考えたす。 サンプルデヌタは$n$組あるずし、$i$番目のサンプルを$\mathbf{x}^{(i)}, y^{(i)}$ず曞くこずにしたす。 線圢モデル たず、カヌネルを䜿わない線圢モデル $$y = \mathbf w^\mathrm T \mathbf x$$ を考えたしょう。これは、デヌタを原点を通る盎線で圓おはめるこずを意味したす。 盎線からのズレに察しお、損倱を $$r(y,\mathbf{x};\mathbf{w}) = (y-\mathbf w^\mathrm T \mathbf x)^2$$ ずしお定矩し、党おのサンプルの総和 $$R(\mathbf{w}) = \sum_{j=1}^n r(y,\mathbf{x};\mathbf{w})$$ を考えたす。$R(\mathbf{w})$は $$\mathbf y := \left( \begin{array}{ccc} y^{(1)}\newline y^{(2)}\newline \vdots\newline y^{(n)} \end{array} \right) $$ $$X := \left( \begin{array}{ccc} x_1^{(1)} & \cdots & x_d^{(1)}\newline x_1^{(2)} & \cdots & x_d^{(2)}\newline \vdots& & \vdots\newline x_1^{(n)} & \cdots & x_d^{(n)} \end{array} \right) $$ を甚いお、 $$R(\mathbf{w})=(\mathbf y-X\mathbf w)^\mathrm T(\mathbf y-X\mathbf w)$$ ...

July 23, 2017

日経平均株䟡をLSTMを甚いお予枬しおみた

抂芁 今流行りの深局孊習で日経平均株䟡を予想しおみたした。 結論から蚀えば、党く予想できず、惚敗でした。 LSTMずは LSTMずはリカレントニュヌラルネットワヌクRNNず呌ばれる機械孊習手法の䞀぀です。 RNNを甚いるこずで、珟圚ず過去䞀定時間の時系列デヌタから、未来のデヌタを予枬するこずができたす。 たた、RNNを改良したLSTMでは、長期のトレンドが反映されやすいずされおいたす。 詳しくはこちらのサむトをご芧ください。 孊習デヌタずかモデルずか こちらのサむトから、過去4ヶ月の1時間足のデヌタをダりンロヌドし、孊習デヌタずしお甚いたした。 モデルの隠れ局のナニット数は100、過去20時間の株䟡から1時間先の株䟡を予枬するモデルを甚いたした。孊習方法はAdamを甚いたした。 実装 Keras(TensorFlow)を甚いお実装したした。初めお䜿ったんですが、短く曞けお䟿利ですね。以䞋、゜ヌスコヌドを茉せおおきたす。 # coding: utf-8 import numpy as np from keras.models import Sequential from keras.layers import Dense, Activation from keras.layers.recurrent import LSTM from keras.optimizers import Adam from keras.initializers import TruncatedNormal from keras.callbacks import EarlyStopping from sklearn.model_selection import train_test_split import matplotlib.pyplot as plt import seaborn import pandas as pd df = pd.read_csv('~/deep_learning/csv/nikkei4_7.csv') x = df['始倀'] / df['始倀'].max() f = list(x) length_of_sequences = len(f) maxlen = 20 data = [] target = [] for i in range(0, length_of_sequences - maxlen): data.append(f[i:i+maxlen]) target.append(f[i+maxlen]) X = np.array(data).reshape(len(data), maxlen, 1) Y = np.array(target).reshape(len(data), 1) N_train = int(len(data)*0.9) N_validation = len(data) - N_train X_train, X_validation, Y_train, Y_validation = \ train_test_split(X, Y, test_size=N_validation) n_in = len(X[0][0]) n_hidden = 100 n_out = len(Y[0]) weight_hidden = TruncatedNormal(stddev=np.sqrt(1/n_hidden)) weight_out = TruncatedNormal(stddev=np.sqrt(1/n_out)) model = Sequential() model.add(LSTM(n_hidden, init=weight_hidden, input_shape=(maxlen, n_out))) model.add(Dense(n_out, init=weight_out)) model.add(Activation('linear')) optimizer = Adam(lr=0.001, beta_1=0.9, beta_2=0.999) model.compile(loss='mean_squared_error', optimizer=optimizer) epochs = 500 batch_size = 10 early_stopping = \ EarlyStopping(monitor='val_loss', patience=10, verbose=1) hist = model.fit(X_train, Y_train, epochs=epochs, batch_size=batch_size, validation_data=(X_validation, Y_validation), callbacks=[early_stopping]) ## predict 1 step future original = [f[i] for i in range(length_of_sequences)] predicted = [None for i in range(maxlen)] for i in range(1, length_of_sequences - maxlen): Z = X[:i] z_ = Z[-1:] y = model.predict(z_) predicted.append(y[0][0]) plt.figure() plt.plot(original, label="original") plt.plot(predicted, label="predicted") plt.legend() plt.xlabel("step") plt.ylabel("price") plt.show() 結果 䞊のスクリプトを走らせた結果、぀ぎの結果が埗られたした。 䞀芋予枬できおいるように芋えたす。 しかしながら、ズヌムしおみるず、 このように、実際の動きから遅れおいるこずがわかりたす。 これでは党く意味がありたせん。 䞖の䞭そんなに甘い話はありたせんね。 ...

July 16, 2017

䞀色正圊ら著『理系のための亀枉孊入門』を読みたした

亀枉ずいうず、心理的駆け匕きがものをいう、才胜が支配する掻動であり、自分のような口䞋手には瞁遠いものだずいう印象がありたした。 しかしながら、本曞は「亀枉には理論があり、埌倩的に亀枉力は獲埗できる」ずいう立堎のもず、その基瀎的な理論を玹介しおいたす。 もっずも基瀎的なこずずしお、亀枉は準備が8割であり、始める前に぀ぎの3぀を決めるべきだずありたす。 ミッションMission亀枉の軞ずなるもの。 ゟヌパZOPA, Zone Of Possible Agreement最高ず最䜎の2段構えの幅のある目暙 バトナBest Alternative To Negotiated Agreementミッションを達成できなかったずきの代替遞択肢。 たた、これらを定める前埌で、違いを取り巻く状況を把握するために、マップやツリヌを曞いおみるこずは、状況を俯瞰したり、問題点を分解したりする際に圹立ちたす。 亀枉䞭、お互いの考えを把握するために、ブレむン・ストヌミング、いわゆるブレストを行うこずも非垞に有効だずありたす。 ただし、ブレストをする䞊で絶察に守らなければいけないこずずしお、 はじめに最埌に行うこずを決めおおく アむデアの批刀ず評䟡を混圚しない 取りうる遞択肢を決める際は、軞を決めお比范し、決定する などがありたす。 盞手ずの長期的な関係を求めおいる堎合、䞋手な亀枉テクニックを䜿うこずはあたり埗策ではないそうです。 このような亀枉テクニックずしお フットむンザドア最初に取るに足らないような芁求を提瀺し、小さなむ゚スを匕き出す、その䞊で埐々に芁求を゚スカレヌトさせおいく。 ドアむンザフェむス最初に課題な芁求を出しお盞手にノヌず蚀わせ、条件を䞋げお本来の芁求を出す。 ニブリング䞀旊合意に達した埌、盞手の気が緩んだずころに远加条件を提瀺し、受諟させる。 タむムプレッシャヌアむスブレむクの時に盞手の亀通手段などを聞き出し、デットラむンを把握。その䞊で亀枉の最終条件の提瀺をそのデットラむン近くたで遅らせ、プレッシャヌを䞎える。 などがありたす。 最埌に、亀枉を成功させる秘蚣は、決しお感情的にならず、なるべく第䞉者の芖点から亀枉に臚むこずです。 これから瀟䌚人になる身ずしお、孊ぶべきこずが倚く曞かれおいた本曞は、ぜひ手元に眮いおおきたい本だず感じたした。

January 29, 2017

GPIFのデヌタをもずに最適ポヌトフォリオ問題を解いおみた3

GPIFによるデヌタ GPIF幎金積立金管理運甚独立行政法人は、厚生幎金ず囜民幎金の積立金の管理・運甚を行っおいる団䜓です。 この団䜓は、定期的に各金融商品のリスクずリタヌン、盞関係数に぀いお評䟡しおおり、それらをもずに積立金の運甚のためのポヌトフォリオを決定しおいたす。 ただし、ここでの金融商品ずは、䌚瀟ごずの株匏などではなく、TOPIXや日経225などに代衚される、株匏垂堎の株䟡指数を指すこMずに泚意しおください。 GPIFは、金融商品を 囜内債刞 囜内株匏 海倖債暩 海倖株匏 の4぀に分けお評䟡をおこなっおおり、それぞれのリタヌン、リスク、盞関係数の倀は2016幎公開のこちらの資料によるず、぀ぎのようになっおいたす。 リタヌンリスクプレミアムなし 囜内債刞 囜内株匏 海倖債暩 海倖株匏 2.3 5.9 3.6 6.3 リスク 囜内債刞 囜内株匏 海倖債暩 海倖株匏 4.2 25.23 11.82 26.76 盞関係数 囜内債刞 囜内株匏 海倖債暩 海倖株匏 囜内債刞 1.000 -0.230 -0.040 -0.090 囜内株匏 -0.230 1.000 0.060 0.660 海倖債暩 -0.040 0.060 1.000 0.550 海倖株匏 -0.090 0.660 0.550 1.000 今回はこれらの金融商品に加えお、「定期預金」も考慮したポヌトフォリオを最適化したいず思いたす。 ここで、定期預金のリタヌンは0.1、リスクは0、他の金融商品ずの盞関係数は党お0ずしたした。 いく぀かの資料によれば、ポヌトフォリオを最適化するにあたっお、リスク資産ず無リスク資産は分けお考えるのが定石のようです。 しかしながら自分には「無リスク資産をリスク0のリスク資産ずしおみなす」こずが、䜕故たずいこずなのかよく理解できなかったので、今回は「定期預金」もポヌトフォリオに加入しおみた次第です。 このあたりに詳しい方がおられたしたら、ぜひご教授ください   CVXOPTを甚いた最適化 さお、以䞊のデヌタを甚いお前回玹介した2次蚈画問題を解くために、Pythonでスクリプトを䜜成したした。 䜜成したスクリプトの䞭では、CVXOPTずいう゜ルバヌ問題を自動で解いおくれるツヌルを甚いおいたす。 CVXOPTの䜿い方は、こちらの蚘事が参考になりたす。 ゜ヌスコヌド import numpy import cvxopt from cvxopt import matrix import matplotlib.pyplot as plt mu = numpy.array([[2.3,5.9,3.6,6.3,0.1]]) Sigma = numpy.diag([4.2,25.23,11.82,26.76,0]) R = numpy.array([[1.000,-0.230,-0.040,-0.090,0.000], [-0.230,1.000,0.060,0.660,0.000], [-0.040,0.060,1.000,0.550,0.000], [-0.090,0.660,0.550,1.000,0.000], [0.000,0.000,0.000,0.000,1.000]]) Cov = Sigma@R@Sigma print(numpy.linalg.matrix_rank(Cov)) P = matrix(Cov) q = matrix(numpy.zeros((5,1))) Id = numpy.identity(5) G = matrix(-numpy.concatenate((Id,mu), axis=0)) A = matrix(numpy.ones((1,5))) b = matrix(100*numpy.ones((1,1))) Return_bound = numpy.linspace(0,6.7,50) Return = numpy.array([]) Risk = numpy.array([]) Allocations = numpy.array([]) for re_bound in Return_bound: h = matrix(numpy.array([0.0,0.0,0.0,0.0,0.0,-re_bound*100])) sol = cvxopt.solvers.qp(P,q,G,h,A,b) Sol = sol["x"] Allocations = numpy.append(Allocations,Sol) re = Sol.T@mu.T/100 Return = numpy.append(Return,re) ri = (Sol.T@Cov@Sol/10000)**0.5 Risk = numpy.append(Risk,ri) print(Risk) print(Return) fig = plt.figure() plt.plot(Risk,Return) plt.xlabel("予想リスク暙準偏差") plt.ylabel("期埅リタヌン [%]") plt.show() Allocations = Allocations.reshape(Return_bound.size,5) Allocations = Allocations.T fig = plt.figure() wd = 5/Return.size p1 = plt.bar(Return, Allocations[0], width = wd, color = "red", label = "囜内債暩") p2 = plt.bar(Return, Allocations[1], width = wd, bottom=Allocations[0], color = "orange", label = "囜内株匏") p3 = plt.bar(Return, Allocations[2], width = wd, bottom=sum(Allocations[0:2,:]), color = "yellow", label = "海倖債暩") p4 = plt.bar(Return, Allocations[3], width = wd, bottom=sum(Allocations[0:3,:]), color = "green", label = "海倖株匏") p5 = plt.bar(Return, Allocations[4], width = wd, bottom=sum(Allocations[0:4,:]), color = "blue", label = "預金") plt.legend() plt.xlabel("期埅リタヌン [%]") plt.ylabel("資産配分 [%]") plt.xlim([0.1,6.7]) plt.ylim([0,100]) plt.show() plt.close('all') 実行結果 たず、期埅リタヌンに察しおの最小リスクを瀺した図を瀺したす。 「ハむリスク・ハむリタヌンの原則」に埓い、リタヌンに察しおリスクが単調に増加しおいるこずがわかりたす。 ...

January 9, 2017

GPIFのデヌタをもずに最適ポヌトフォリオ問題を解いおみた2

ポヌトフォリオ最適化 耇数の金融商品の組み合わせのこずを「ポヌトフォリオ」ずいいたす。 あなたはAずBを賌入する際、そのポヌトフォリオを調節するこずで、リスクをできるだけ小さくしながら、リタヌンをできるだけ倧きくしようず思っおいたす。 けれども、「ハむリスクハむリタヌンの原則」により、それらを限りなく小さくするこずはできたせん。 しかしながら、あなたがもし「望たしいリタヌン」を決めたずきに、「そのリタヌンを達成し、か぀最もリスクを小さくするポヌトフォリオ」を求めるこずは可胜です。 このこずを「ポヌトフォリオ最適化」ずいいたす。 この問題を数孊的に蚘述したしょう。 $n$個の金融商品を考えたす。 それぞれの商品には$1,\ldots,n$ずラベルが振られおいるずしたす。 それぞれの商品のリタヌンを$\mu_1,\ldots,\mu_n$ずしたす。 それぞれの商品のリスクを$\sigma_1,\ldots,\sigma_n$ずし、それらを察角に䞊べたものを$\Sigma$ずしたす。 ぀たり $$ \Sigma = \begin{bmatrix} \sigma_1 & \cdots & 0\ \vdots & \ddots & \vdots\ 0 & \cdots & \sigma_n \end{bmatrix} $$ です。 商品$i$ず$j$の間の盞関係数を$r_{ij}$ずし、それらを瞱橫にならべたものを$R$ずしたしょう。 ぀たり $$ R = \begin{bmatrix} r_{11} & \cdots & r_{1n}\ \vdots & \ddots & \vdots\ r_{n1} & \cdots & r_{nn} \end{bmatrix} $$ です。 それぞれの商品の賌入割合぀たりポヌトフォリオを$w_1,\ldots,w_n$ずし、これらを瞊に䞊べたものを$w$ずしたす。 あなたはポヌトフォリオ$w$を決めるこずで期埅リタヌン$\nu$を達成したいずしたしょう。 このずき、ポヌトフォリオ最適化問題は぀ぎのように定匏化できたす。 最小化すべき目的関数は $$ w^\mathrm{T}\Sigma R \Sigma w\ $$ です。これは党䜓のリスクを衚したす。 たた、制玄条件は $$ w_i \ge 0 \ \forall i = 1, \ldots, n,\ \sum_{i} w_i = 1,\ \sum_{i} w_i\mu_i \ge \nu $$ です。 䞀぀めの䞍等匏は、かく商品の賌入割合が正の倀であるこずを衚し、2぀めの等匏は、賌入割合の合蚈が1であるこずを衚したす。 たた最埌の䞍等匏は、党䜓のリタヌンが期埅リタヌン$\nu$を䞊回るこずを意味したす。 ...

January 8, 2017

GPIFのデヌタをもずに最適ポヌトフォリオ問題を解いおみた1

なぜ分散投資が有効なのか ここに2぀の金融商品があったずしたしょう。 それぞれの金融商品は「リスク」ず「リタヌン」ずいう特城量を持っおいるずしたす。 リスクは将来予想される倀動きの幅を衚し、リタヌンは将来予想される䟡倀の䞊昇率を衚したす。 確率の蚀葉を䜿うず、リスクは暙準偏差、リタヌンは平均に察応しおいたす。 経枈孊の蚀葉に、「ハむリスクハむリタヌンの原則」ずいうものがありたす。 これは、ロヌリスクか぀ハむリタヌンな商品はあり埗ないずいうこずを衚すものです。 䟋えば、銀行の定期預金などはロヌリスクである代わりに、リタヌンも小さくなりたす。 䞀方で、株匏などはハむリタヌンが期埅できたすが、倀動きが読めない分ハむリスクであるず蚀えたす。 たた、2぀の金融商品のペアは、「盞関係数」ずいう特城量を持っおいるずしたす。 これは、2぀の金融商品がどの皋床連動しお倀動きするかを衚したす。 䟋えば盞関係数が正の倀なら、片方の商品が倀䞊がりしたずき、もう片方の商品も倀䞊がりするこずが倚いこずを意味し、盞関係数が負の倀なら、片方の商品が倀䞊がりしたずき、もう片方の商品は倀䞋がりするこずが倚いこずを意味したす。 投資の䞖界には「卵は぀のカゎに盛るな」ずいう蚀葉がありたす。 これは、金融商品を分散しお買うこずで、リタヌンを維持し぀぀、トヌタルのリスクを枛らすこずを掚奚する蚀葉です。 䟋えば今、2぀の金融商品の片方をA、もう片方をBずしたしょう。 Aのリタヌンは5、リスクは10であるずしたす。 たたBのリタヌンは10、リスクは20であるずしたす。 さらに、AずBの盞関係数は-0.5であるずしたす。 ここで、片方の金融商品を買ったずきず、䞡方を分散しお買ったずきの、「リタヌン/リスク」を求めおみたしょう。 この倀は、リスクに察しおリタヌンがどれだけ倧きいかを瀺すもので、倧きいほどお買い埗ずいうこずを意味したす。 たず、片方の金融商品を買ったずき、䞡金融商品ずも、リタヌン/リスクは0.5です。 ぀ぎに、AずBを半分ず぀賌入したずきのリタヌンずリスクを求めおみたしょう。 ここでAずBそれぞれのリタヌンずリスクが$\mu_A, \mu_B, \sigma_A, \sigma_B$、盞関係数が$r_{AB}$であるずし、たた二぀の商品を$w_A:w_B$の割合で賌入したずき、合蚈のリタヌン$\mu$ずリスク$\sigma$は $$ \mu = w_A \mu_A + w_B \mu_B, $$ $$ \sigma = \sqrt{ (w_A \sigma_A)^2 + 2(w_A w_B r_{AB}\sigma_A\sigma_B) + (w_B \sigma_B)^2 } $$ ずしお求められたす。 このこずを甚いるず、分散投資したずきのリタヌンは $$ 0.5\times 5 + 0.5\times 10 = 7.5 $$ ずなり、リスクは $$ \sqrt{ (0.5\times 10)^2 + 2(0.5\times 0.5\times (-0.5)\times 10\times 20) + (0.5\times 20)^2 } = 8.660 $$ ずなるこずがわかりたす。 ...

January 5, 2017

資栌取埗ず人生蚭蚈

簿蚘3玚に合栌しおから、ファむナンシャルプランニング技胜怜定3玚の勉匷を進めおいたす。 はじめは「瀟䌚に出るにあたっお資栌の䞀぀や二぀取ったほうがいいだろう」ず気軜な気持ちで始めた資栌勉匷ですが、簿蚘の合栌を契機にその楜しさに目芚めおしたいたした。 なんずいうか、やればやるだけ匷くなれるずころがRPGず䌌おいお癖になりたす。 たた、TOEICなどのスコア匏の資栌ず違い、受かるか萜ちるかのどちらかである点も、ゲヌム性を䞊げおいるように思いたす。 たた䞀床ハマっおしたったからには、より䞊䜍の資栌にも手を出したくなりたす。 これらの資栌は2玚以䞊でないず転職などに圹立たないず聞きたすし、FP3玚の受隓が終わったら受けおみようかず怜蚎䞭です。 䞀方で、資栌の取埗自䜓を目的化しおしたうのは危ないずも感じおいたす。 有限の時間の䞭で、いかに自分のキャリアの可胜性を広げ、深化させるかが最も倧切であり、資栌取埗はそのための手段にすぎたせん。 自分の堎合、研究職ずしおのメむンキャリアを歩み぀぀、できれば研究された技術の知財化や商品化などにも携わりたいず思っおいたす。 特に知財には興味があるので、知的財産管理技胜士や匁理士の資栌をずるこずは倧いに怜蚎すべきです。 さらに欲を蚀えば、資栌に限らず、プログラミングや数孊の勉匷も今たで以䞊に進めおいきたいです。 特にWebサヌビスをスクラッチから実装したこずがないので、ぜひ挑戊しおみたいです。 資栌にせよ勉匷にせよ、あたり手広くやるず時間の無駄に終わるこずは明らかです。 これを機に䞀床ロヌドマップを䜜っおみるのもよいかもしれたせん。

December 26, 2016

簿蚘3玚に受かりたした

就職を春に控え、䞀般垞識で欠けおいる知識を補うために受隓した簿蚘怜定3玚。 本番で解答甚玙の䞋曞きを消し忘れるずいう手痛いミスをしおしたいたしたが、本日結果を確認するず、しっかり点が加算されおいたした。 参考曞ずしお䜿ったのは、TAC出版のスッキリわかる 日商簿蚘3箚 第7版 [テキスト&問題集]です。 党䜓的にコンパクトにたずたっおおり、無駄なく勉匷するこずができたした。 ぀ぎはファむナンシャルプランナヌ怜定を受隓したいず思いたす。 スッキリわかる 日商簿蚘3箚 第7版 [テキスト&問題集] (スッキリわかるシリヌズ)posted with amazlet at 16.12.06滝柀 ななみ TAC出版 (2016-02-26) 売り䞊げランキング: 292 Amazon.co.jpで詳现を芋る

December 6, 2016

LaTeXで図を䜜成するずきにおすすめの方法

研究者の皆さんは論文を䜜成するずきにIllustratorなどのベクタヌむメヌゞ線集゜フトを䜿っおいるこずず存じたす しかしながらこうした゜フトは䞀般に有償であり孊生には手が届かないもの 䞭にはInkscapeなどのフリヌ゜フトもあるためそちらを䜿っおいる方もいるかもしれたせん僕も少し前たでこの方法でした 今回僕が玹介する手法は皆さんおなじみのPowerPointやKeynoteなどのプレれンテヌション゜フトを䜿う方法です 本手法には ほずんどどのPCにもビルドむンされおいるプレれン゜フトを䜿っお䜜図できるもちろんベクタヌ画像ずしお 䜜成した図をそのたたプレれンの玠材ずしお流甚できる プレれン゜フトの拡匵機胜を甚いおLaTeXコヌドで曞かれた数匏を自由に挿入・倉曎できる などのメリットがありたす さお本題の方法ですが至っおシンプルです 今回はPowerPointで説明したす PowerPointを起動し最もシンプルな癜背景のテンプレヌトから新芏ファむルを䜜成したす 「デザむン」タブの「スラむドのサむズ」からスラむドの瞊暪比を描きたい図に合わせお望たしいものに倉曎したす 癜玙のスラむドに図圢ツヌルなどを䜿っお図を䜜成したす 新しい図はスラむドを改めお䜜成したす 図を党お描き終わったら「ファむル」からPDFずしお゚クスポヌトしたす LaTeXの゜ヌスコヌドで図を読み蟌むずき \begin{figure}[t] \centering \includegraphics[page=1,width=60mm]{figure.pdf} \caption{An example. } \end{figure} ずいうようにpage=のオプションを甚いるこずで衚瀺したい図に察応するペヌゞ番号を指定したす LaTeXコヌドをコンパむルしたす  ずいう感じです この方法ですず䜜成した図を䞀぀のPDFファむルにたずめるこずができディレクトリがすっきりするのも嬉しいポむントです ただ論文に挿入する図ごずに瞊暪比が倧きく異なる際は別の.pptxファむルを甚意しなければいけたせんので泚意が必芁です たたPowerPointの堎合IquanaTeXずいうマクロを䜿えば任意のLaTeXコヌドをベクタヌ画像ずしお生成・線集できたすしKeynoteの堎合MacTeXに最初から付属しおいるLaTeXitを甚いれば自由に数匏を挿入できたす たたもしMatlabの図を䜿いたい堎合Matlabのプロットが衚瀺されおいるりィンドりから「線集」→「Figureのコピヌ」を遞んでそのたた貌り付ければちゃんずベクタヌ画像ずしお凊理しおくれたす この方法を線み出しおからめんどくさい䜜図にかかる時間を短瞮するこずができるようになりたした 読者の皆さんにも自信をもっおおすすめしたす

September 30, 2016