ã¯ããã«
æ¬è¨äºã¯æ°çæé©å Advent Calendar 2024 23æ¥ç®ã®è¨äºã§ãã
以åã®è¨äºã«ã¦ã°ã©ãä¿¡å·å¦çã«ããããµã³ããªã³ã°ã¨é¨å空éæ å ±ãå©ç¨ããåä¿¡å·ã®å¾©å ãç´¹ä»ããã
ãããããã®è¨äºã®æå¾ã§ãè¿°ã¹ãããã°ã©ãä¿¡å·ã®é¨å空éãæ¢ç¥ã§ãããã¨ã¯ç¨ã§ãããããã観測ãããä¿¡å·ã«ã¯ãã¤ãºãéç³ãããã¨ãå¤ãã ã¨ãããã¨ã§ä»åã¯ããã¤ãºãéç³ããã°ã©ãä¿¡å·ããã®é¨å空éæ¨å®ã«ã¤ãã¦ããã¤ãæãã¤ããæ¹æ³ãå®é¨ãã¦ã¿ãã®ã§ããããã«ã¤ãã¦ç´¹ä»ããã
ãªããå®é¨ã«ä½¿ç¨ããã³ã¼ãã¯é©å®è¨äºå ã§ãè¨è¼ãããå ¨ä½ã«ã¤ãã¦ã¯ä»¥ä¸ã®githubãªãã¸ããªã«å ¬éãã¦ããã
ã¾ãä¸ã«è²¼ã£ãååã®è¨äºã®å®é¨ã³ã¼ããæµç¨ãã¦ããé¨åãããã®ã§ãè¦æ £ããªãé¢æ°ãªã©ãããã°ãã¡ããåç §ã
åé¡è¨å®
ã¾ãé ç¹ã®ã°ã©ãã«ã¦è¦³æ¸¬ãããã°ã©ãä¿¡å·
ã¯ã
次å
é¨å空éï¼
ï¼ã®åºåºã並ã¹ãè¡å
ã¨ä¿æ°
ãç¨ãã¦ä»¥ä¸ã®å¼ã«å¾ãã¨ããã
ããã§ã¯æ£è¦åå¸
ã«å¾ããã¤ãºæåã§ããã
ãã®ã°ã©ãä¿¡å·ãå観測ãè¡ã£ã¦å¾ãã°ã©ãä¿¡å·éå
ã¨ã°ã©ãã®æ§é æ
å ±ï¼é£æ¥è¡åãªã©ï¼ããä½æ¬¡å
é¨å空éã®åºåº
ãæ¨å®ããã¨ããã®ãä»å解ãããåé¡ããªããã®éã
ã¯åºå®ã ã
ã¯è¦³æ¸¬ãã¨ã«ç°ãªãã¨ããã
å®é¨ããã«ããã£ã¦çã®åºåºãå®ããå¿
è¦ãããããããã¤ãå
¸åçãªã¢ãã«ãããã®ã§ãä»åã¯ãã®ãã¡ä»¥ä¸ã«ç´¹ä»ãã帯åå¶éã°ã©ãä¿¡å·ãåºåçä¸å®ã°ã©ãä¿¡å·ãå¨æçã°ã©ãã¹ãã¯ãã«ã°ã©ãä¿¡å·ã®3種é¡ã§çæãå®é¨ãè¡ãã
帯åå¶éã°ã©ãä¿¡å·
ããã¯ååã®è¨äºã§ã使ã£ãä¿¡å·ã§ã¯ãããæ¹ãã¦ç´¹ä»ããã
ã°ã©ãã©ãã©ã·ã¢ã³ã®åºæãã¯ãã«ã並ã¹ãè¡åã
ã¨ããã¨ã帯åå¶éã°ã©ãä¿¡å·ã¯
ãã
åã ãé¸ãã
ãåºåºã¨ãªãããã®ãããé¸æããªãã£ãåºæãã¯ãã«ã«å¯¾å¿ããåºæå¤ã®å¨æ³¢æ°æåã¯å«ã¾ãªãä¿¡å·ã¨ãªããä¸è¬çã«ã¯ã©ã®å¨æ³¢æ°æåãé¸ãã§ã帯åå¶éã°ã©ãä¿¡å·ã¨è¨ããããããã§ã¯ä½å¨æ³¢æåãã
åã ãé¸ãã ã°ã©ãä¿¡å·ãæ±ãããã®ã°ã©ãä¿¡å·çæã®å®è£
ã¯ååã®è¨äºã®å®é¨ã³ã¼ããåç
§ã
ã¨ããã¨ãã®ã°ã©ãä¿¡å·ã¨ã¹ãã¯ãã«ããã³ããã«å¯¾ãæ¨æºåå·®
ã®ãã¤ãºãå ããä¿¡å·ã®ä¾ã¯ä»¥ä¸ã®ããã«ãªãã
ä¿¡å·ï¼ãã¤ãºãªãï¼ | ã¹ãã¯ãã« |
---|---|
![]() |
![]() |
ä¿¡å·ï¼ãã¤ãºãã |
ã¹ãã¯ãã« |
---|---|
![]() |
![]() |
åºåçä¸å®ã°ã©ãä¿¡å·
é ç¹ã®ã¯ã©ã¹ã¿ãèãããã®ã¯ã©ã¹ã¿å
ã¯åãä¿¡å·å¤ãæã¤ã¨ããã°ã©ãä¿¡å·ãã¡ããã¨ããå®ç¾©ã¯åèæç®[1]ãè¦ã¦ããã ãã¨ãã¦ãããã§ã¯çæã®å®è£
ãæ¸ãã«ã¨ã©ããï¼generate_random_graph
ãªã©ååã®å®é¨ã³ã¼ããæµç¨ãã¦ããã®ã§ãå
ã«ãã¡ããè¦ã¦ããã ããæ¹ãç解ããããã¨æãï¼ã
def generate_piecewise_constant_signal(V, n, K=10): N = V.shape[0] kmeans = KMeans(n_clusters=K).fit(V) A = np.zeros((N, K)) for k in range(K): A[kmeans.labels_ == k, k] = 1.0 D = np.random.randn(n, K) X = D @ A.T return X, A # ã°ã©ãã®ä½æ V, adj = utils.generate_random_graph(N, graph_adj_num) # åºåçä¸å®ã°ã©ãä¿¡å·ã®ä½æ # nã¯è¦³æ¸¬æ°ãKã¯ã¯ã©ã¹ã¿ï¼é¨å空é次å ï¼æ° X, A = generate_piecewise_constant_signal(V, n, K)
ãã®ã°ã©ãä¿¡å·ã«æ¨æºåå·®ã®ãã¤ãºãå ããä¾ã以ä¸ã®éãã
ä¿¡å·ï¼ãã¤ãºãªãï¼ | ã¹ãã¯ãã« |
---|---|
![]() |
![]() |
ä¿¡å·ï¼ãã¤ãºãã |
ã¹ãã¯ãã« |
---|---|
![]() |
![]() |
å¨æçã°ã©ãã¹ãã¯ãã«ã°ã©ãä¿¡å·ï¼PGSã°ã©ãä¿¡å·ï¼
ã°ã©ãå¨æ³¢æ°ã®ã¹ãã¯ãã«ãå¨æçã«ãªã£ã¦ããã°ã©ãããã¡ããæ©éçæã®å®è£ ã¨å®éã®ã°ã©ãä¿¡å·ãã¹ãã¯ãã«ã®ä¾ã示ãã
def generate_pgs_signal(A, n, K=10): L = utils.compute_graph_laplacian(A) _, U = np.linalg.eigh(L) D = np.random.randn(n, K) Ik = np.tile(np.eye(K), U.shape[0]//K) X = D @ Ik @ U.T return X, U @ Ik.T # ã°ã©ãã®ä½æ V, adj = utils.generate_random_graph(N, graph_adj_num) # PGSã°ã©ãä¿¡å·ã®ä½æ # nã¯è¦³æ¸¬æ°ãKã¯ã¹ãã¯ãã«ã®å¨æï¼é¨å空é次å ï¼ X, A = generate_pgs_signal(adj, n, K)
ä¿¡å·ï¼ãã¤ãºãªãï¼ | ã¹ãã¯ãã« |
---|---|
![]() |
![]() |
ä¿¡å·ï¼ãã¤ãºãã |
ã¹ãã¯ãã« |
---|---|
![]() |
![]() |
ä¿¡å·ã®é¨å空éã®æ¨å®
主æååæã使ãæ¹æ³
ã¾ãé¨å空éã¨è¨ã£ã¦æãã¤ãã®ã¯ããã主æååæã«ãã£ã¦å¾ãããåºåºã®ãã¡ç¬¬ä¸»æåã¾ã§ãæ¡ç¨ãããå®è£
ãè¦ãæ¹ãéãã®ã§ã³ã¼ãã示ãã観測ããã°ã©ãä¿¡å·éåã®è¡å
ã
è¡
åã¨æ°å¼ã¨ã¯è»¢ç½®ããã¦ãããã¨ã«æ³¨æ*1ã
def subspace_estimate_with_pca(X, k): pca = PCA(k, svd_solver='full') pca.fit(X) return pca.components_.T
ããããã®æ¹æ³ã§ã¯ã°ã©ãæ§é ã®æ å ±ãä¸å使ããªãæ¹æ³ãªã®ã§ããã¤ãºã«å¯¾ããããã¹ãæ§ãä½ãã¨èãããã*2ãããã§æ¬¡ã¯ã°ã©ãæ å ±ã使ã£ãæ¹æ³ãèããã
ã°ã©ããã¼ãªã¨å¤æã使ãæ¹æ³
帯åå¶éãããã°ã©ãä¿¡å·ã§ããã°ãå¶éãããå¨æ³¢æ°æåã®ã¹ãã¯ãã«ã®å¤§ããã0ã«è¿ããªãã¯ãã§ããããã®ãããããããã®å¨æ³¢æ°æåã®å¼·ãã以ä¸ã®å¼ã®ããã«å観測ã°ã©ãä¿¡å·ã®ã¹ãã¯ãã«ã®2ä¹åå¹³æ¹æ ¹ã¨ãããä¸ä½
件ã«å¯¾å¿ããã°ã©ããã¼ãªã¨ã®åºåºãæ¡ç¨ããã
å®è£ ã¯ä»¥ä¸ã®éãã
class GraphFourierTransformer: def __init__(self, A): self.A = np.copy(A) self.L = compute_graph_laplacian(A) self.lam, self.U = np.linalg.eigh(self.L) def transform(self, X): return X @ self.U def inv_transform(self, Xf): return Xf @ self.U.T def subspace_estimate_with_gft(X, adj, k): gft = utils.GraphFourierTransformer(adj) Xf = gft.transform(X) s = np.sqrt(np.sum((Xf * Xf), axis=0)) remain = np.argsort(-s)[:k] return gft.U[:, remain]
ãã ãã®æ¹æ³ã§ã¯å¸¯åå¶éãããä¿¡å·ä»¥å¤ã®é¨å空éãæ¨å®ããã®ã¯å¦¥å½ã§ã¯ãªããæ¨å®ç²¾åº¦ãæªããªãã¨äºæ³ãããã
ã°ã©ãä¿¡å·ã«é¢ããä»®å®ãäºåç¥èãæ£ååã¨ãã¦åãå ¥ããï¼é ç¹é åï¼
主æååæã«ããæ¹æ³ã¯ä»®å®ãå¼±ããã°ã©ããã¼ãªã¨å¤æã«ããæ¹æ³ã¯ä»®å®ãå¼·ãããããã®ããã°ã©ãä¿¡å·ã«é¢ããæ å ±ãåãå ¥ããæ£ååé ãèãããã¨ã§é©åãªä»®å®ãåãå ¥ããé¨å空éæ¨å®ãè¡ãã
ã¾ããã°ã©ãä¿¡å·éåãããè¿ä¼¼ã§ãã
次å
ã®é¨å空éã®åºåº
ã¨ãã®ä¿æ°
ãè¦ã¤ããåé¡ãç´ ç´ã«è¨è¿°ããã¨ã
ã¨ãªãããã®åé¡ã«å¯¾ãã¦ãæ£ååé
ãå ãããã¨ã«ããã°ã©ãã®ä¿¡å·ã«é¢ããæ
å ±ãåãè¾¼ããã¨ãèãããä¾ãã°ã°ã©ãä¿¡å·ãæ»ããã§ããã¨ããä»®å®ãæé©ååé¡ã«åãè¾¼ãå ´åã¯ãæ»ãããã®ææ¨ã§ããã°ã©ãã©ãã©ã·ã¢ã³ã®2次形å¼ãå°ãããªãã¯ããªã®ã§ãå
¨ã¦ã®è¦³æ¸¬ããä¿¡å·ã«å¯¾ããã°ã©ãã©ãã©ã·ã¢ã³ã®2次形å¼ã®å
ãæ£ååé
ã¨ãã¦ç®çé¢æ°ã«ä»ãå ããã¨ããããã¡ãããã®æ£ååé
ã¯ããã¾ã§ä¾ã§ãä»ã«ãè¡å
ãä»ã®æ£å®å¤å¯¾ç§°è¡åã«ãããã°ãå¥ã®ã°ã©ãã«é¢ããæ
å ±ã表ç¾ã§ããã
ãã®ä¸è¬ã®æ£ååé
ã®è¡åãã¨ãã¦ãå¼ï¼3ï¼ãæ¸ãæããã¨
ã¨ãªããããã«ã¨ãã¦ã
ã¨æ¸ãæãããã¨ãã§ãã*3ã å¼ï¼5ï¼ã®æé©ååé¡ã確ççå¾é æ³ãªã©ã§è§£ãæ¹æ³ãèããããããå¸ã§ãªãã®ã§å®é¨ããä¸ã§å°ã åä»ãå¾ã£ã¦ä»åã¯ä»¥ä¸ã®ããã«ã©ã³ã¯å¶ç´ä»ãã®æé©ååé¡ããã¬ã¼ã¹ãã«ã æ£ååã¤ãæé©ååé¡ã«ç·©åãã¦è§£ãã
ãã®åé¡ã¯å¸ãªæé©ååé¡ãªã®ã§è§£ããããã
ãã®æé©ååé¡ãè¿æ¥å¾é æ³ã§è§£ãããã¬ã¼ã¹ãã«ã ã®æ£ååé ä»ãæé©ååé¡ã¸ã®è¿æ¥å¾é æ³é©ç¨ã¯åèæç®[3]ã詳ãããã¾ãéå»ã«è¿æ¥å¾é æ³ã§ãã¬ã¼ã¹ãã«ã æ£ååé ã¤ãã®æé©ååé¡ã解ããè¨äºãæ¸ãã¦ããã®ã§ãã¡ããè²¼ã£ã¦ããã
è¿æ¥å¾é æ³ãé©ç¨ããããã«ãå¼ï¼6ï¼ãå°ãå¤å½¢ããã
ããã§ãã
ã¨ããã¨ãè¿æ¥å¾é
æ³ã®æ´æ°å¼ã¯ã
ã¨ãªããã¯ãã¬ã¼ã¹ãã«ã ã®è¿æ¥ä½ç¨ç´ ã§ãããå
·ä½çãªè¨ç®æ¹æ³ã¯ä»¥ä¸ã®è¨äºã®ãã¬ã¼ã¹ãã«ã ã®é
ç®ãªã©ãåç
§ã
ãªããè¿æ¥å¾é
æ³ã§ã¯é¢æ°ã
å¹³æ»ã§ããã°ã¹ãããå¹
ã¯
ã«ããã°ä»¥ä¸ã«ããã°åæããï¼è©³ããã¯åèæç®[4]ãªã©ãåç
§ï¼ãä»åã®å ´åã
ã¯
ã®ããã»è¡å
ã®æ大åºæå¤
ãªã®ã§ãå®è£
ã§ã¯
ã«åºå®ããã
æå¾ã«å¼ï¼6ï¼è§£ããã¨ã«ãã£ã¦å¾ããããããé¨å空éã®åºåºãåãåºãå¿
è¦ããããããã¯
ãç¹ç°å¤å解ããã¦ãä¸ä½
åã®ç¹ç°å¤ã«å¯¾å¿ããå·¦ç¹ç°ãã¯ãã«ãåºåºã¨ããã°ããã
å®è£ ã¯ä»¥ä¸ã®éãã
def proximal_gradient_method(grad, prox, eta, x_init, max_iter=10000, tol=1e-5): x = np.copy(x_init) for _ in range(max_iter): z = x - eta * grad(x) x_new = prox(z) if np.linalg.norm(x - x_new) <= tol: break x = np.copy(x_new) return x_new def trace_prox(Y, lam): U, S, V = np.linalg.svd(Y) return U @ np.diag(np.maximum(0.0, S - lam)) @ V[:S.shape[0], :] def subspace_estimate_with_regularization(Y, T, alpha, beta): Hess = 2.0 * (np.eye(T.shape[0]) + alpha * T) grad = lambda W: -2.0 * Y + W @ Hess eta = 1.0/np.max(np.linalg.eigvalsh(Hess)) prox = lambda Y: trace_prox(Y, beta * eta) W_init = np.copy(Y) W_hat = proximal_gradient_method(grad, prox, eta, W_init) return W_hat def subspace_estimate_with_vertex_regularization(X, adj, k, alpha, beta): L = utils.compute_graph_laplacian(adj) W = subspace_estimate_with_regularization(X, L, alpha, beta) Uk, _, _ = np.linalg.svd(W.T) return Uk[:, :k], W
以éããã®ææ³ããé ç¹é åæ£ååæ³ãã¨å¼ã¶ã
ã°ã©ãä¿¡å·ã«é¢ããä»®å®ãäºåç¥èãæ£ååã¨ãã¦åãå ¥ããï¼å¨æ³¢æ°é åï¼
ã°ã©ãå¨æ³¢æ°é åã«ãããäºåç¥èãå
¥ãããã¨ãå¯è½ã§ãããããã§ã¯ããã¤ãºã®ãªãä½æ¬¡å
ä¿¡å·ã®éåãã°ã©ããã¼ãªã¨å¤æãã
ã«é¢ããæé©ååé¡ãèãããã¤ã¾ãã観測信å·ãã°ã©ããã¼ãªã¨å¤æããéåã
ã¨ãã¦
ã¨ããæ失é¢æ°ãã°ã©ãå¨æ³¢æ°é åã«é¢ããç¥èãåãè¾¼ãã é
ãä½æ¬¡å
åã®ãããã¬ã¼ã¹ãã«ã æ£ååé
ã§æ§æãããæé©ååé¡ã¨ãªããããã¾ã§ä½æ¬¡å
ã«ãããã®ã¯
ã§ãã
ã§ã¯ãªãããããã¬ã¼ã¹ãã«ã æ£ååé
ã¯
ã¨ããã¹ãã ãã
ãç´äº¤è¡åã§ããç¹ç°å¤ã¯ç´äº¤è¡åãããã¦ãå¤ãããªããã¨ãã
ã¨ãªããå¾ã£ã¦ãã°ã©ãå¨æ³¢æ°é åã«é¢ããç¥èãåãè¾¼ãã é¨å空éæ¨å®ã®æé©ååé¡ã¯
ã¨ãªããé ç¹é åã§ã®è°è«ã¨åæ§ã«æ±ããããé¨å空éã®åºåºãåãåºãå¿
è¦ãããããããã¯
ã¨é ç¹é åã«å¤æãã¦ããç¹ç°å¤å解ããã°ããã
以éããã®ææ³ããå¨æ³¢æ°é åæ£ååæ³ãã¨å¼ã¶ã
次ã«ã°ã©ãå¨æ³¢æ°é åã«ãããç¥èåãè¾¼ã¿ã®ä¾ã¨ãã¦ãã°ã©ãä¿¡å·ã®ã¢ãã«ãPGSã°ã©ãä¿¡å·ã§ããã¨ä»®å®ããã¨ãã®å®å¼åã示ããå¾ããã¦ããã°ã©ãä¿¡å·ã次å
PGSé¨å空éããçæãããä¿¡å·ã ã¨ä»®å®ããã¨ãã°ã©ãã¹ãã¯ãã«ã®å¨æã¯
ãªã®ã§ä»¥ä¸ã®ãããª
è¦ç´ ãããè¡å
ã使ã£ã¦ã°ã©ããã¼ãªã¨ä¿æ°ãã¯ãã«ã
è¦ç´ åãããã
ã¯ãå
ã®
ã¨ä¸è´ããã¯ãã§ãããããã«ãã£ã¦PGSé¨å空éã¨ä»®å®ããå ´åã®æ£ååé
ã¯ã
ã¨ããã°ããï¼ï¼ã
以ä¸ããã®ã使ã£ãå¨æ³¢æ°é åæ£ååæ³ã®å®è£
ï¼é ç¹é åæ£ååæ³ã§ç¤ºããé¢æ°ãå©ç¨ãã¦ãããã¨ã«æ³¨æï¼ã
def subspace_estimate_with_frequency_regularization(X, adj, k, alpha, beta): gft = utils.GraphFourierTransformer(adj) X_ = gft.transform(X) P = (np.eye(X.shape[1], k=-k) + np.eye(X.shape[1], k= X.shape[1] - k)) P_ = np.eye(X.shape[1]) - P W = subspace_estimate_with_regularization(X_, P_ @ P_.T, alpha, beta) Uk, _, _ = np.linalg.svd(W.T) return gft.U @ Uk[:, :k], W
å®é¨
å®é¨è¨å®
ç´¹ä»ãã4ã¤ã®é¨å空éæ¨å®ææ³ã®æ§è½ã測ãããåé¡è¨å®ã®ç¯ã§ç´¹ä»ãã3種é¡ã®çæã¢ãã«ã«åºã¥ãã°ã©ãä¿¡å·ãçºçããããã®ä¿¡å·ããé¨å空éãæ¨å®ãã¦ã¿ããã¾ããã¤ãºã®æ¨æºåå·®ãåé¡è¨å®ã®ç¯ã§è¿°ã¹ããã®ã使ãã
ã°ã©ãã®é ç¹æ°ã¯å
¨ã°ã©ãä¿¡å·å
±éã§200ã¨ãã観測信å·æ°ã¯50ã¨ãããã¾ããå観測信å·ã®ä¿æ°ã¯è¦ç´ ãã¨ã«ç¬ç«ãã¦æ¨æºæ£è¦åå¸ã§çæããã
ã¾ããæ¬å®é¨ã§ã¯é ç¹é åæ£ååæ³ã«ã¦ãã°ã©ãã©ãã©ã·ã¢ã³
ã¨ãããã¤ã¾ãã°ã©ããæ»ããã§ããã¨ããä»®å®ãåãè¾¼ããå¨æ³¢æ°é åæ£ååæ³ã§ã¯PGSä¿¡å·ã§ããã¨ä»®å®ããå¼ï¼10ï¼ã®
ãç¨ãã¦
ã¨ããï¼ä»åå¨æã¯æ¢ç¥ã¨ãã
ã®ãããéã¯ãã®å¨æã«åºã¥ãã¦æ±ºããï¼ã
å ãã¦ãåææ³æ¨å®ããé¨å空éã®æ¬¡å ãä¸ããå¿ è¦ãããããããã¯çã®é¨å空éã®æ¬¡å ãæ¢ç¥ã¨ãã¦å®é¨ããã
詳ããã¯å®é¨ã®ã³ã¼ããè¦ãæ¹ãããã¨æãã§ãåé ã§è¿°ã¹ããªãã¸ããªã«ããgraph_subspace_experiments.py
ãåç
§ã
æ£æºè§ã«ããé¨å空éã®é¡ä¼¼åº¦æ¯è¼
çã®é¨å空éã¨ã©ãã ãè¿ãé¨å空éãæ¨å®ã§ããããè©ä¾¡ããããæ£æºè§ã®ã®åãææ¨ã¨ããï¼ä»¥éã§ã¯
ã¨è¡¨è¨ï¼ãæ£æºè§ã¯2ã¤ã®é¨å空éãããªãè§ãæå°ã¨ãªãããã«é¸ãã ãã¯ãã«å士ã®ãªãè§ã第1æ£æºè§ããã®é¸ãã ãã¯ãã«ã¨ç´äº¤ããã¨ããå¶ç´ãå ãã¦åæ§ã®æ¡ä»¶ã§é¸ãã ãã¯ãã«å士ã®ãªãè§ã第2æ£æºè§ãã¨ããããã«æ£æºè§ãå°ããã»ã©ï¼ãã®
ã大ããã»ã©ï¼2ã¤ã®é¨å空éã¯é¡ä¼¼ããã¨ã¿ãªãããæ£æºè§ã«ã¤ãã¦ã¯ã以ä¸ã®è¨äºã§ã触ãã¦ããã®ã§ãã¡ããåç
§ã
å®é¨çµæ
æ©éãåçæä¿¡å·ã«å¯¾ããåææ³ã®ã示ããé ç¹é åæ£ååæ³ã¨å¨æ³¢æ°é åæ£ååæ³ã«ã¤ãã¦ã¯ãã¤ãã¼ãã©ã¡ã¼ã¿ã®è¨å®å¤ãä½µãã¦è¨è¼ãã¦ããã
帯åå¶éã°ã©ãä¿¡å· | åºåçä¸å®ã°ã©ãä¿¡å· | PGSã°ã©ãä¿¡å· | |
---|---|---|---|
主æååæ | 8.18 | 4.02 | 4.11 |
ã°ã©ããã¼ãªã¨å¤æ | 18.00 | 3.94 | 0.79 |
é ç¹é åæ£ååæ³ | 18.97 ( |
4.74 ( |
3.37 ( |
å¨æ³¢æ°é åæ£ååæ³ | 6.39 ( |
0.89 ( |
4.99 ( |
ãã®çµæããããããã¨ã¨ãã¦ãã¾ã主æååæã¯æä¸ä½ã«ãªããã¨ã¯ãªãã©ã®ä¿¡å·ã«å¯¾ãã¦ã大ããã¯å¤ãã¦ããªãã 次ã«ã°ã©ããã¼ãªã¨å¤æã¯å¸¯åå¶éã°ã©ãä¿¡å·ã¨åºåçä¸å®ã°ã©ãä¿¡å·ã«ã¤ãã¦ã¯ãä¿¡å·ã®å¤åãæ»ããã§å¨æ³¢æ°æåãä½å¨æ³¢é åã«éä¸ãã¦ããããããããè¯ãæ§è½ãå¾ã¦ããããPGSã°ã©ãä¿¡å·ã¯å ¨å¨æ³¢æ°é åã«æºéãªãå¼·ãæåãåå¨ãããããããªãæªãçµæã¨ãªã£ã¦ããã é ç¹é åæ£ååæ³ã¯å¸¯åå¶éã°ã©ãä¿¡å·ã¨åºåçä¸å®ã°ã©ãä¿¡å·ã«ããã¦ãæ¯è¼ææ³ã®ä¸ã§ãããã®æ§è½ã§ãã£ãããã¯ãã°ã©ãä¿¡å·ãæ»ããã§ããã¨ããä»®å®ãå®éã®çæä¿¡å·ãããããã¦ããã®ããã¤ã³ãã ããã ä¸æ¹ã§ãå¨æ³¢æ°é åæ£ååæ³ã¯å¸¯åå¶éã°ã©ãä¿¡å·ã¨åºåçä¸å®ã°ã©ãä¿¡å·ã«å¯¾ãã¦ã¯ä»®å®ã¨ãããããæ¨å®è½åãä½ãããPGSã°ã©ãä¿¡å·ã«å¯¾ãã¦ã¯ããããã¿ã¼ã²ããã«ããä»®å®ãåãè¾¼ãã§ãããããé常ã«é«ãæ¨å®ç²¾åº¦ã¨ãªã£ãã
ã¾ããå®é¨ããã¦åãã£ãã帯åå¶éã°ã©ãä¿¡å·ã§ã¯é ç¹é åæ£ååã®ã¨ããã®ãæãè¯ãçµæã¨ãªã£ããããã¯ãã°ã©ãã©ãã©ã·ã¢ã³ã®äºæ¬¡å½¢å¼ãå°ãããããã¨ã帯åå¶éãããã¨ãããããã¦ãããä½ã©ã³ã¯åã¯ãããä½è¨ãªæ
å ±ã ã£ãããã¨èãã¦ãããåæ§ã«PGSã°ã©ãä¿¡å·ã§ãå¨æ³¢æ°é åæ£ååã§
ã¨ããã®ãæãè¯ãçµæã ã£ããããããPGSä¿¡å·ã¨å¨ææ§ã®æ£ååã¯ååã«ããããã¦ããããã ã¨èãã¦ããã
ãã®ä¸æ¹ã§ãåºåçä¸å®ã°ã©ãä¿¡å·ã«ããã¦ã¯ãããç¨åº¦å¤§ããããæ¹ããããªããããã¯ä»®å®ãå®æ
ã¨å°ããºã¬ã¦ãã¦ããããããã¬ã¼ã¹ãã«ã æ£ååã«ããä½ã©ã³ã¯åãè£å©ã¨ãã¦æ¨å®ç²¾åº¦åä¸ã«å¯ä¸ãã¦ããã®ã ã¨æããããããã¯PGSã°ã©ãä¿¡å·ã®æãããé¡èã§ã
ã ã¨
ã¨ã°ã©ããã¼ãªã¨å¤æã«ããæ¹æ³ããã¯ãã·ã ãããªãä½ãæ¨å®æ§è½ã ã£ããå¾ã£ã¦ããã¬ã¼ã¹ãã«ã æ£ååé
ã¯ä»®å®ã¨å®æ
ã«ãºã¬ãããæããã®ãºã¬ãå¸åããå¹æãããã¨èããããã
ãµã³ããªã³ã°ã¨å¾©å
ãã®æ¹æ³ã§æ¨å®ããé¨å空éã使ã£ã¦ååã®è¨äºã§æ¸ãããµã³ããªã³ã°ã¨å¾©å ããã£ã¦ã¿ãããã ãæ¯è¼ã®ããé¨å空éã¯ãã¤ãºãéç³ããä¿¡å·ããæ¨å®ããåºåºã使ããããµã³ããªã³ã°ã¨å¾©å ã¯ãã¤ãºãªãã®ã°ã©ãä¿¡å·ã§å®é¨ããããµã³ããªã³ã°ã¯200é ç¹ã®ãã¡30ç¹ãã©ã³ãã ã«é¸æãã¦ããã
帯åå¶éã°ã©ãä¿¡å·
åä¿¡å· | ãµã³ããªã³ã°å¾ã®ä¿¡å· |
---|---|
![]() |
![]() |
以ä¸ãåææ³ã§æ¨å®ããé¨å空éã使ã£ã¦å¾©å ããä¿¡å·ããã¯ããé¨å空éãæãããæ¨å®ã§ãã¦ããé ç¹é åæ£ååæ³ãæã復å 誤差ãå°ããï¼åçµæã®å³ã®ä¸é¨ã«å¾©å 誤差ãè¨è¼ï¼ã
主æååæ | ã°ã©ããã¼ãªã¨å¤æ |
---|---|
![]() |
![]() |
é ç¹é åæ£ååæ³ | å¨æ³¢æ°é åæ£ååæ³ |
---|---|
![]() |
![]() |
åºåçä¸å®ã°ã©ãä¿¡å·
åä¿¡å· | ãµã³ããªã³ã°å¾ã®ä¿¡å· |
---|---|
![]() |
![]() |
以ä¸ãåææ³ã§æ¨å®ããé¨å空éã使ã£ã¦å¾©å ããä¿¡å·ããã¡ããé ç¹é åæ£ååæ³ã®å¾©å 誤差ãæãå°ããã
主æååæ | ã°ã©ããã¼ãªã¨å¤æ |
---|---|
![]() |
![]() |
é ç¹é åæ£ååæ³ | å¨æ³¢æ°é åæ£ååæ³ |
---|---|
![]() |
![]() |
PGSã°ã©ãä¿¡å·
åä¿¡å· | ãµã³ããªã³ã°å¾ã®ä¿¡å· |
---|---|
![]() |
![]() |
以ä¸ãåææ³ã§æ¨å®ããé¨å空éã使ã£ã¦å¾©å ããä¿¡å·ããã¡ãã¯å¨æ³¢æ°é åæ£ååæ³ã§ããªãåä¿¡å·ã«è¿ã復å ãã§ãã¦ããã
主æååæ | ã°ã©ããã¼ãªã¨å¤æ |
---|---|
![]() |
![]() |
é ç¹é åæ£ååæ³ | å¨æ³¢æ°é åæ£ååæ³ |
---|---|
![]() |
![]() |
çµããã«
æ¬è¨äºã§ã¯ã°ã©ãä¿¡å·ã®é¨å空éæ¨å®ã«ã¤ãã¦ãé ç¹é åãå¨æ³¢æ°é åããããã®ä»®å®ã«åºã¥ãæé©ååé¡ã«å¸°çãã¦æ¨å®ããæ¹æ³ãç´¹ä»ããã
ãªããä»åã¯ãµã³ããªã³ã°ã¨å¾©å ã®å®é¨ã«ããã¦ã¯ãã¤ãºãªãã®ã°ã©ãä¿¡å·ãããµã³ããªã³ã°ã復å ããããå®éã¯ãã¤ãºãéç³ããä¿¡å·ãããããµã³ããªã³ã°ã§ããªãããã¤ãºããã®ã°ã©ãä¿¡å·ãããµã³ããªã³ã°ããéã®å¾©å æ¹æ³ã«ã¤ãã¦ã試ãã¦ã¿ãããã¨ãããã®ã§ã次ã®è¨äºã§ã¯ããããã£ã¦ã¿ããã¨æãã
åèæç®
[1] ã°ã©ãä¿¡å·å¦çã®åºç¤ã¨å¿ç¨: ãããã¯ã¼ã¯ä¸ãã¼ã¿ã®ãã¼ãªã¨å¤æ,ãã£ã«ã¿ãªã³ã°,å¦ç¿
[2] ç·å½¢ä»£æ°ãåºç¤ã¨ãã å¿ç¨æ°çå ¥é: æé©åçè«ã»ã·ã¹ãã å¶å¾¡çè«ãä¸å¿ã«
[3] ã¹ãã¼ã¹æ§ã«åºã¥ãæ©æ¢°å¦ç¿
[4] é£ç¶æé©åã¢ã«ã´ãªãºã
*1:以éãåæ§ã
*2:ä»®å®éãä½æ¬¡å é¨å空éããã®ç·å½¢ååã§ã°ã©ãä¿¡å·ãçæããããã¤ããã¤ãºããªããã°ä¸»æååæã§æ£ããé¨å空éãå¾ãããã
*3:ã¡ãªã¿ã«ãã¨ããä½ã©ã³ã¯è¿ä¼¼åé¡ã¯ç¹ç°å¤å解ã«ãã解ããã詳細ã¯ãã®è¨äºãåèè
ã«ããæ¸ç±[2]ãåèãªããã¾ããã°ã©ãä¿¡å·ã¯å¹³å
ã«ä¸å¿åããã¦ããå ´åãç¹ç°å¤å解ãã£ã¦å¾ãããé¨å空éã¯ä¸»æååæã§æ±ãããã®ã¨ä¸è´ããã