ブログ

  • 【実務で迷わない!】PPQとPVの違いとは?国際的な位置づけとバリデーション活動全体の流れを解説

    【実務で迷わない!】PPQとPVの違いとは?国際的な位置づけとバリデーション活動全体の流れを解説

    プロセスバリデーション(PV)は、医薬品製造において最も基本かつ重要な品質保証活動のひとつです。しかし、実務の現場では「PV」「PPQ」「PQ」といった類似用語が混在し、とくに「PVとPPQの違いが曖昧なまま使われている」ことも少なくありません。

    この記事では、まずPPQとPVの違いを日米欧の規制視点から明確化し、つづいてPPQがPVの一部であることを「PV実施計画書〜報告書までの全体フロー」とともに網羅的に解説します。


    ◆ 1. PPQとPVの違いとは? ― 日米欧の規制視点から

    ✅ FDA(米国)の位置づけ

    米国FDAでは、プロセスバリデーション(Process Validation)を以下の3つのステージに明確に分類しています:

    ステージ名称内容
    Stage 1プロセス設計(Process Design)製造プロセスを設計・最適化する
    Stage 2プロセス性能適格性評価(PPQ)商用スケールで製品を製造し、再現性を検証
    Stage 3継続的プロセスバリデーション(CPV)商用製造中の継続的な品質モニタリング

    👉 このうち**Stage 2に相当するのがPPQ(Process Performance Qualification)**であり、PPQはPVの一部と明確に位置付けられています。


    ✅ EU(欧州)の位置づけ

    EU(EudraLex Annex 15)では「プロセスバリデーション」という包括的概念が明記されており、PPQという単語自体は登場しません。ただし、商用製造前にプロセスが一貫性を持って再現できることを複数バッチで確認することが要求されており、その内容はFDAのPPQと同義です。

    また、Annex 15では**設備の性能評価(PQ)とプロセスの妥当性確認(PV)**を明確に区別しており、文書構造がきっちり整備されています。


    ✅ 日本(GMP省令)の位置づけ

    日本のGMP省令では「PPQ」という言葉は出てきませんが、「プロセスバリデーション」という用語は明記されています。また、PMDAの査察・照会でも近年はFDAやICHの用語体系がそのまま使用されており、実務的にはPPQはPVの一部と理解して対応するのがスタンダードです。


    ✅ 要約:PPQとPVの違い(日米欧比較表)

    区分PVの定義PPQの扱い備考
    FDA3ステージのライフサイクル型PVステージ2として明確に定義PV ⊃ PPQ の構造
    EUプロセスの再現性確認をPVに含む用語としてのPPQはなし内容的にはPPQと同義
    日本GMP省令でPVを規定PPQ用語なし(実務上導入)規制より運用に依存

    ◆ 2. PPQはPVの一部である ― 全体ステップで理解する

    PPQは、プロセスバリデーションの中でも「実際の商用スケール製造によってプロセスの妥当性を検証するステップ」であり、全体から見れば中盤に位置するPVステージ2にあたります。

    以下に、PV全体を「計画書から報告書まで」の流れとして構造化した図を示します。


    ✅ 全体ステップ:PV実施計画書から報告書までの構成(網羅的フロー)

    ① PV実施計画書(PVプロトコル)作成
     ├─ スコープ・試験項目・成功基準を定義
     ↓
    ② PPQバッチの製造(Stage 2)
     ├─ 商用スケールで連続2〜3バッチ製造
     ├─ 製造記録・試験・逸脱処理を実施
     ↓
    ③ データ収集・評価・統計解析
     ├─ 試験結果・プロセスデータの統計評価
     ↓
    ④ 成功判定とSOP改訂
     ├─ バリデーション成功可否を社内承認
     ├─ BPRやSOPの更新
     ↓
    ⑤ PV報告書の作成・承認(Final Report)
     ├─ 評価結果・結論・今後の対応方針を記載
     ↓
    ⑥ CPV(Stage 3)への移行
     ├─ 継続的モニタリング体制へ

    このうち、PPQ(Step②)だけを切り出して「PPQ活動」と呼びますが、PV全体の一部に過ぎません。


    ◆ 3. 含まれるタスクの具体例

    PVの実施には以下のタスク群が含まれます:

    カテゴリタスク概要
    計画PV実施計画書作成スコープ・基準・試験内容を事前定義
    実行PPQバッチ製造商用スケールで3バッチ前後製造
    試験出荷試験、IPC、安定性初期試験試験室および製造部門で実施
    評価統計解析(CpK、トレンド)プロセスの変動性を解析
    文書PV報告書作成結果・評価・CPV計画を記録
    継続CPV計画と移行本格製造下での監視体制構築

    ◆ 4. 実務での注意点と運用

    • PPQだけでPVが完了するわけではない
       → 試験結果、統計解析、逸脱評価、最終判定が不可欠です。
    • PV報告書が承認されて初めて「PV完了」
       → 承認なくCPVへ移行するのは重大なGMP逸脱です。
    • 社内では「PVバッチ」と「PPQバッチ」の混用に注意
       → 文書上は明確に区別し、「これはPVステージ2(PPQ)である」と明記しましょう。

    ◆ まとめ:PPQとPVの違いを正しく理解し、文書体系と対応を整える

    • PPQ(Process Performance Qualification)は、PVの一部(ステージ2)であり、PV全体を構成する中核ステップです。
    • ✅ 日米欧で用語や表現に違いはありますが、実質的には同じプロセスを指しており、共通理解が求められます
    • ✅ 実務では、PV計画書 → PPQ製造 → 試験 → 統計解析 → 報告書作成 → CPV移行という一貫した流れで活動が行われており、その中でPPQは中心的役割を果たします。

    正しい理解と文書管理は、査察対応の信頼性だけでなく、組織全体の品質文化を支える基盤です。ぜひこの機会に、社内のバリデーション体系を再確認してみてください。

    2025/06/30

  • 近所のスーパー/ホームセンターで、備蓄米が売られ始めた

    近所のスーパー/ホームセンターで、備蓄米が売られ始めた

    いつも行ってる近所のスーパーのイズミヤカナートとホームセンターのカインズで、備蓄米が売られ始めてる。

    Img 8107
  • エクソソーム製品開発の現状と展望 ~制度・技術・実務の交差点からの考察~ [2025/06/21]

    エクソソーム製品開発の現状と展望 ~制度・技術・実務の交差点からの考察~ [2025/06/21]

    エクソソーム製品開発の現状と展望 ~制度・技術・実務の交差点からの考察~

    エクソソーム(Exosome)は、細胞から分泌される直径30~150nmの細胞外小胞であり、タンパク質、脂質、核酸などの生理活性物質を内包し、細胞間コミュニケーションやシグナリングに関与することが近年明らかになっている。これを応用した治療・診断用途の製品開発が国内外で急速に進展しており、特にバイオベンチャーによる参入が活発化している。エクソソームは、細胞治療製品のように生きた細胞を投与するのではなく、その分泌産物であるため「非細胞製品」と位置付けられ、製造・品質管理が比較的容易であるとの期待が先行している。

    しかし実際には、エクソソーム製品の開発はGMP製品と同等か、あるいはそれ以上に高い実務的難易度を伴う。その主な理由は、①製品の定義と同一性の確保が困難、②分析手法の標準化が未確立、③規制上の不確実性、の3点に集約される。

    第一に、製品の同一性・一貫性の確保が極めて困難である。エクソソームの性質は、原料となる細胞種、培養条件、刺激、分離方法に大きく依存し、同じ細胞由来でもロットや環境条件の差異により、含有物や活性が大きく変動する。つまり、「プロセスが製品そのものに直結する」という特徴は、細胞製品と同様かそれ以上に強く、比較可能性(comparability)や製造バリデーションの面で大きな課題を抱えている。

    第二に、有効性・品質を正しく評価するための分析技術が未発達であることが、製品開発のボトルネックとなっている。ナノ粒子トラッキング解析(NTA)や電子顕微鏡、ELISA、質量分析などを用いた評価法が試みられているが、標準化やバリデーションに至るには至っておらず、規制当局が求める「定量的・再現性ある品質評価」に十分応えられていないのが現状である。特に、活性の指標(バイオアッセイ)や、製品のロット同等性を示すデータの構築は依然として困難である。

    こうした課題に対し、国内外では分析技術の高度化が進められている。たとえばニュージーランドのIzon Scienceは、サイズ排除クロマトグラフィーとTRPS(個粒子解析)を組み合わせたシステムを開発し、高精度な粒子測定を可能にしている。また、日本国内では株式会社ハカレルやヒューマン・メタボローム・テクノロジーズ(HMT)などが、エクソソームの定量キットや精製プロトコルを提供し、研究支援を行っている。これらの動きは将来的に、CTDに記載可能な標準試験項目や規格設定の基盤となることが期待される。

    第三に、法規制上の位置づけが不透明または製品ごとに異なることが、承認審査における不確実性を高めている。エクソソームが再生医療等製品に該当するか、医薬品扱いとなるか、あるいは化粧品・研究用試薬にとどまるかは、原料細胞の由来、製造目的、使用形態などによりケースバイケースで判断される。特にPMDAは「細胞由来成分である以上、製品の特性評価が不十分であれば医薬品としての一貫性が担保されない」との立場を取っており、事前相談段階から分析・CMCパートに関する詳細な議論が求められる。エクソソーム製品が臨床応用に至るには、このような規制不確実性への対応力と、初期からの品質設計(QbD)が不可欠である。

    一方で、臨床応用の可能性は非常に大きく、がん、神経疾患、自己免疫疾患、整形外科領域など、幅広い適応が探索されている。miRNAやタンパク質などの内包成分を利用した標的化、あるいは外部修飾によるDDS(ドラッグ・デリバリー・システム)としての展開も検討されており、製品の多様性と将来性は極めて高い。したがって、エクソソーム製品の社会実装に向けたブレークスルーは、単にバイオ活性の発見やアイデアではなく、「いかにしてその製品を定量的・再現的に規格化・証明できるか」という分析科学とCMC設計にあると言える。

    総じて、エクソソーム製品の開発は、規制上の柔軟性や科学的な可能性に注目が集まる一方で、実際の製品化にはGMP相当の製造管理、確立された分析法、比較可能性試験設計、製造一貫性の保証、PMDA対応能力といった極めて高い専門性が求められる。バイオベンチャーが参入するにあたっては、その現実的な難易度と必要な体制整備を十分に認識したうえで、**品質評価を中心とした「分析ドリブンな開発体制」**を構築することが、成功への鍵となるだろう。

  • Synology NAS : Multi Domain ~ 1つのNASの上に複数ドメイン名でサイトを構築する [2025/07/02追記]

    Synology NAS : Multi Domain ~ 1つのNASの上に複数ドメイン名でサイトを構築する [2025/07/02追記]

    はじめに

    WordPressは,PHP + MySQL (mariaDB)ベースの動的なCMSです.DSMに内蔵されたWeb Station (ApacheまたはNginx) + PHPがそれぞれ処理します.


    *CMS : content management system

    今回,一つのNASの上に2つ(以上)のサイトを構築する手順を解説します.

    以前にAI君にその方法を問うてみると「できる」と断言されました.その詳細な方法について色々と聞いてみると「それらしい答え」を出してきました.

    これまでは,ネット検索では思いついた時に,その都度調査していましたが,求めているサイト/方法/手順は見つけられませんでした.あきられて新しいIP Addressを取得(費用が必要)することも真剣に考えていところです.

    しかし,1カ月前,AI君は「できる」と断言しました.その後,1カ月くらい放置して自分の頭の中で熟成させていたこの案件ですが,この土日,及び+3日を使い,更にその詳細についてAI君と共に検討した結果,1台のSynology NASの上に2つのサイトを構築し安定稼働させることができました.2つ目以降のサイトの内容はこれから作っていこうと思ています.

    作業概要は,

    (1) DSM->File Stationで既存wordpressフォルダー複製

    (2)phpMyAdminによる既存のData Baseの移行と修正

    (3) Web Stationによるportal(仮想ドメイン?)の設定,

    (4) DMSでのText Editorによるwp-config.php, .htaccessの修正,

    等です.

    当初の検討では,Conatainer Managerを使用したwordpressのコンテナ化によるマルチドメインを検討しましたが,結局は,Web StationのVirtual Host(仮想ホスト)を使用することで一つのNASの上に複数のサイト構築が可能でした.

    以下に詳細を解説します.なお,Synology NASの解説は,日本語版では冗長なのでそれを避けて用語などは英語版の表記としています.

    構築後しばらくの間で稼働状況についてモニターリングし,追加の対策を実施している.具体的には,cache関係,portal severの設定関係で,トリッキーな挙動(ここに気づくのに時間かがかかった)と安定稼働には必須の設定を追加した.



    構築方法

    作業する前にバックアップを取ってから進めてるのが良いです.

    作業前のバックアップ

    hyper backupで現時点での/web以下(既存のwordpressファイルが格納されているfoler)をバックアップします.その他,以下の設定で実行しておきます.

    1. 設定
      • Folder : /volume1/web
      • Application : MariaDB 10
      • Web Station
    2. Backj up nowボタンを押す

    DDNSの取得

    以下の方法により構築する2つ目のDomain Nameを用意する.

    • Synology NASの場合,2台以上のNASを持っているのであれば,External Access->DDNSからSynologyからDomain NameをNASの1台に付き1つの名前を頂ける.
    • myDNS.jp様のサイトから複数個のDomain Nameを頂ける.

    Let’s Encription証明書

    証明書については,Synology NASを複数持っているので,それぞれについてSynologyからDomain Nameを取得している.

    表1. Let’s Encrypt の代表的なレート制限

    制限の種類内容
    同一FQDNでの再発行(同一証明書内容)1週間に5回まで
    同一登録ドメイン(例:example.com)に対する新規証明書発行1週間に50回まで
    失敗した認証試行数1時間に5回まで
    アカウントごとの登録レート制限あり(通常の使用で問題なし)

    Web Stationでの設定

    設定の前準備(Control Panelでの作業で示している)として以下のAccess Control Profileを作成しておく.これは安全装置であり、即使用するものではなく、メンテナンス時に有効化して外部からのアクセスを完全に遮断する装置となる。

    Longin Portal->Advanedを開き、以下の設定を作成する.

    192.168.11.0/24=Allow、All=Denyとしているのは、192.168.11.0に対してLocalからのアクセスのみを許可する設定とする。これは、IPレベルにる入口制御である。

    具体的な機能は以下の通り。

    1. Webアプリ(wordpress)の前段での制御である。即ち、防御の最前線である。
    2. 認証画面すら表示させない
    3. アプリ脆弱性以前に”通信自体”を止める

    表2. Access Control Profile

    Image

    前準備は完了した。

    web stationでは,以下の項目を設定することができる.web stationでの設定手順は,(3) Script language Settings →(2) Web Service →(1) Web Portalの順となる.

    1. Web Portal
    2. Web Service
    3. Script Language Settings
    4. Error Page Settings
    Image

    図1. Web Stationの設定画面 (Script Language Settingsを選択している状況)

    Script Language Settingsでprofileを作成:

    作業

    1. Creatボタンを押す
    2. Create Profile – Configre general settings画面が現れる
    3. 以下の項目に入力する(後で修正は可能)
      • Profile name : <profile for 2nd site>
      • Description : <同上など,適当に>
      • PHP version : <インストールしているphpのバージョンがリストされるので,一つを選ぶ,ex: php8.2>
        • Enabe PHP cache : チェックする
        • Enable Xdebug : チェックする
        • Enable display_erros to display PHP error message :チェックする
        • (以上のチェックは,作成後に変更可能)
      • Customized PHP open_basedir : Default
      • Nextボタンをクリック
    4. Configure extensions画面が現れる
      • 全てを選択(理解できていないので全て選択,重複エラーでは重複項目のチェックを外す)
      • Nextボタンを押す
    5. Configure FPM settings画面が現れる(FastCGI Process Manager)
      • FPM mode : dynamic (PHP-FPMを使用せず,web serverがPHPを直接処理する)
      • Max processes: 102 (default)
      • Start servers : 2 (default)
      • Min spare servers : 2 (default)
      • Max spare servers : 4 (default)
      • Nextボタンを押す
    6. Configure core settings画面が現れる
      • mysqli.default_socket : /run/mysqld/mysqld10.sock (に修正, wp-config.phpの記載に合わせる)
      • pdo_mysql.default_socket : /runmysqld/mysqld10.sock (に修正, wp-config.phpの記載に合わせる)
      • 残りは規定値のまま
      • Nextボタンを押す
    7. Confirm settings画面が現れる
      • Createボタンを押す
    8. 以上

    Web Service の作成:

    Web Serviceでは,以下の項目が表示される.

    1. Default Service
    2. Native script language website
    3. Third-party Package website
    Image

    図2. Web Stationの設定画面 (Web Seviceを選択している状況)

    今回の作業では,Native script language websiteを作成する.

    Web Serviceは,site Aとsite Bで共用は可能だが,今回は,専用にそれぞれ作成した.

    作業:

    Image
    Image
    Image
    1. Createボタンを押す
    2. Select a service type画面が現れる
      • static websiteとContainerized script language websiteは選択しない.
      • Native script language websiteをチェック(選択)する
      • Service : リスト他されphpの中から「script language settings」にて作成した時に設定したphp version である「php 8.2」を選択する
      • 右隣のプルダウンメニューには,「script language settings」で作成したprofileがリストされてるのでそれを選択する.
      • Nextボタンを押す
    3. Configure geral setting画面が現れる
      • Name : <site B用であることが分かるような名前にする>
      • Descriptiion : <適当に>
      • Document root : /web/<site B>
      • HTTP back-end server : Apache HTTP Sever 2.4
      • 残りの項目は規定値(default)
      • Nextボタンを押す
    4. Confirm settings画面が現れる
      • Createボタンを押す
      • Virtual hostを作るには,http groupのread permissionが必要であり自動で作成するとのメッセージが出るので,「OK」ボタンを押す
      • Native script laguage website項目に,Service typeはPHP,Nameには作成した名前でリストされる.
      • 完了
    5. 以上

    Web Portalの作成 :

    web Portalでは,以下の項目が表示される.

    1. Customized Portal
    2. Default Portal
    Image

    図3. Web Portal 画面


    今回の作業では,Customized Portalを以下の手順で作成する.

    Image
    Image

    図4. Web Profile設定

    作業:

    1. Createボタンを押す
    2. Select a portal type画面が現れる
    3. Web service portalをマウスクリックする.
    4. Set up a web service portal画面が現れる
      • Service : <作成したweb serviceがリストされるので,それを選択する>
      • Status : Normal (選択したweb serviceが正常な場合にNormalと表示されている)
      • Portal type : <Name-based
      • Hostname : <domain name>, ex:????.myDNS.jp
      • Port : 80/443 (でもOKだと思う), 今回はHTTPS: 443とした
      • HTTPS settigs : HSTSをチェック
      • Access control profile : <Access Control Profileの作成で作成したプロファイル名をリストから選択する.
        指定しない場合はネットからフルアクセスされる
      • Error page profile : Default error page profile (defaultのまま)
      • Enambe access log : 今回はチェックなし
      • Createボタンを押す
      • Customized portal項目に作ったPortalがリストされる
      • 完了
    5. 以上
    6. 注) Synology NASのDSMにあるDDNSは、1つしか登録できない。従って、DDNSプロバイダ(myDNS.jp)には2つ目のurlは登録できない。当サイトでは、synology製品に付いてくるドメインを1つ目のurlに設定している。

    複数サーバー安定化に忘れてはいけない

    一番の不安定原因は,cache pluginのコンフリクトが考えられる.その他,portal serverの設定がある.

    redisと一般的なwordpressのcache pluginはキャッシャ層が異なる.レスポンス速度を高めるために一般的なキャッシュ(表示系)とredisを導入しているので,以下の事項について注意して進める必要があった.

    一般的なキャッシュプラグイン

    サイト構築の設定過程では,個々のwordpressのcache pluginの挙動を意識して進める必要がある.また,作業中はcache pluginは無効にしておくか,そうでない場合は適時キャッシュをflushする.

    設定が完了してから無効化していたcache pluginを有効化する.

    redis関連 pluginの設定

    以下に解説しているweb stationでPortal Serverを同時にenableにする場合には注意が必要である.

    先ず問題だった点は、

    今回の場合,Redis Serverを複数のwordpressを導入した1つの同じNAS内にcontainer managerでコンテナ構築(host)し,更に、個々のwordpressでは、それぞれredis object server pluginをインストールしていた.このpluginでの設定ではdefaultのredis 用のDBの番号は「0」となっていたため、複数のportal(web url)をenableにした途端にredisのキャッシャでコンフリクトを起こした.

    対処:

    redis serverに関わる以下のコードをwp-config.phpに追記する.

    define( 'WP_HOME', 'https://harikiri.diskstation.me' );
    define( 'WP_SITEURL', 'https://harikiri.diskstation.me' );
    
    define( 'WP_CACHE', true );
    define( 'WP_REDIS_HOST', '127.0.0.1' );
    define( 'WP_REDIS_PORT', 6379 );
    define( 'WP_REDIS_DATABASE', <0,1,2・・・> );
    define( 'WP_CACHE_KEY_SALT', '<site name>_' );

    note :
    1. <0,1,2・・・15>には,複数サイトと重複しない一意である1つの数.
    2. <site name>には,接頭語として分かるワードであれば良い(harikiri).
    3. この時点で残っている設定は、DB関連(wp_config.php, data baseの複製または新規作成)
    4. WordPressでinstallしているRedis Serverには、「Redis Object +Cache」などがある。


    更に必要な作業

    default serverの設定

    Web Protalで複数のweb serverを安定的に稼働させるために,default serverの設定をいじる必要がある.なぜなら,Multi Domain Web Serverを構築する前の状態はSingle Web Server (既存)が稼働するのみであり,それはdefault serverが担っていたため.

    今回の作業過程では,既存のweb serverを新しくportal server (以降で説明)として設定 (既存のurl:harikirii.diskstation.me)したため,既存のurlであったdefault server (url: 同じ)が起動すると,この同じurlに対して異なるservice (script languageを含む)が割り当てられることになるため,コンフリクトを生じる可能性が考えられた.

    そこで,以下の手順により,default serverに対して適切な設定が可能になるようservice設定をいじった.この設定を完了させてから,複数(現在3つ)あるportal(web server)がレスポンスを失う自体にはなっていない(2025/06/20).

    設定 :

    1. 先ず,Web Portal 設定の画面では,default serverをdisable/enableは,できな仕様となっている(図5).
    2. そこで,Service設定画面から設定を以下の手順でいじる(図6).
    3. 図6に示すように,user portalが使用しているHTTP back-end serverはapacheである.念のため,default serverにはそれとは異なる「Nginx」を選択する.
    4. Serverが起動しないようにすめにたに(結果的そうだった*),PHPには「Not configured」を選択する.おそらくこの設定が重要.
    5. * NASをrebootさせてlogを確認してみると,この設定前ではharikiri.diskstation.meの起動が2回記録されていた.設定してからは,1回の起動のみが記録されるようになった.
    6. Save
    7. 以上

    Image

    図5. Default serverのdisable/enableはできない(仕様)


    Image

    図6. Service設定画面

    Portal Serverに関する設定

    今回の作業では,既存のwebサイト(harikiri.diskstation.me)は,Default serverで管理されていた(そのはずな)ので,専用のportalはリスト(登録)されていなかった.

    そこで,harikiri.diskstation.me用に上記の作業でWeb Portalを作成した.その際,/web/<site A用のfolfer>のフォルダ構造と,harikiri.diskstation.me/<site A>というurl構造が不整合となりブラウザでの表示が出来なくなった(エラー500, 404).

    修正作業は,以降に述べているように「wp-config.php」の修正,DBの複製と修正,及び「.htaccess」の修正が必要.

    1. File Stationから,既存のwordpressディレクトリを複製して2つめwordpressディレクトリとし,wp-config.php,.htaccess,必要があればrobots.txtを修正する.

    以下詳細を示す.



    File Stationでの作業

    (1) DSM->File Stationで既存のwordpressフォルダーの複製

    1. /web/<site A>にwordpressがインストールされている前提とする(既存).
    2. /web/<site B>をcreate folderで作成する.
    3. <site A> foldeにあるfolder/fileの全てを<site B>に複製する.
      注意) 既存を消したりしないように!

    (2) .htaccessの修正

    以下のコードでにおいて “/” が,”/<site A/Bのfolder name>”になっているとブラウザ表示できないので,以下のコードに置き換える.

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress

    (3) wp-config.phpの修正

    MariaDB10のデータベース(DB)は,2つ目のuser2で別DBを作成し,exportしたuser1のDBをuser2のDBにimportされていることを前提にしている.

    define( 'DB_NAME', 'DB2' );
    define( 'DB_USER', 'user2' );
    define( 'DB_PASSWORD', '********' );
    define( 'DB_HOST', 'localhost:/run/mysqld/mysqld10.sock' );  // MariaDBパッケージならlocalhostでOK(未確認)
    
    define('DB_CHARSET', 'utf8mb4');
    define('DB_COLLATE', '');

    /volume1/web/<site A filder name>/wp-config.php に以下の2行を require_once より前 (強制)に追加:
    これらの環境変数は,DBのwp_optionsのsiteurlとhomeより優先する(by 4o).DBで設定しているなら必要ない.

    define( 'WP_HOME', 'https://harikiri.diskstation.me' );
    define( 'WP_SITEURL', 'https://harikiri.diskstation.me' );

    (4) robots.txtの修正

    robots.txt (小文字)についてもサイトに合わせて修正してください.


    Control Panelでの作業

    Login Portal -> Advanced -> Access Control Profileでprofile作成画面を開き当該profilelを作成する.

    Image

    access control profileは,web stationの設定で使用する.Web Stationの設定が完了後,後から当該profileを作成・設定も可能.

    機能:

    1. サイトの内容を編集している間やその他のIP Addressを拒否/許可することが可能.ネットからのアクセスを拒否する設定のprofileを作り,web station->web portal->”で,作成したportalのAccess control profile”に指定するとprofileに従ってアクセス制限される.
    2. サイトの投稿が整いサイトを公開したい場合,公開用のprofileを前述と同様のところに指定するか,何も指定しなければフルアクセスとなる.

    access control profileを作る

    1. Login Portal->Advancedを開き,Access Control Profileを開く
    2. Createボタンを押し,2つ目のサイト用にprofileを作成する

    MariaDB 10

    WordPressはMariaDB 10のデータベース(DB)にページを保存しており,2つ目のサイト構築にも専用のDBが必要である.

    今回は,既存のuser1が持っているデータベース(DB1)をphpMyAdminからexportしてDB1をダウンロード,新しいuser2で作成したDB2にimport して,これをSite-2用のデータベースとして修正し稼働できることを確認する.同時にphpMyAdminの使い方の習得を並行して行った.

    以下のphpMyAdminで行う操作は,慎重に行ってください.

    特に置換を実施する際,先に検索でヒットするテーブルやレコードを確認しておき,その後に,置換の作業をするようにすれば理解しながら進められます.

    既存DB1のexport

    1. phpMyAdminにuser1(root権限)でログイン
    2. site-2用のDB1をexportしてsql形式でdownloadしておく
    3. ログアウト

    新しいuserとDBの作成

    1. phpMyAdminに既存のuser1(root権限)でログイン
    2. 新しくuser2を作成
      • 上にあるタブの”権限”で表示される”新規作成”
      • ユーザーと同名のデータベース作成、グローバル権限なし
      • 実行
    3. 新しくDB2 (文字コードはutf8mb4_unicode_ci)を作成
    4. user2にDBのアクセス権限を与える
      • DB2をクリックして選択
      • タブメニューの”権限”クリック
      • ユーザアカウントを追加するをクリック
      • UID/PD設定
      • データベースDB2へすべての権限を与える」をチェック
      • 実行
      • sqlの場合
        • GRANT ALL PRIVILEGES ON DB2.* TO user2’@’localhost’;
        • FLUSH PRIVILEGES;
    5. DB2を選択
    6. メニューのimportを選択
    7. 先にexportしたDB1を選択
    8. 実行(DB2にDB1(の内容:全ての表)をimportする)

    siteurlとhomeのurlの修正

    1. site 2用のDB2をクリック
    2. wp_optionsテーブルをクリック
    3. option_nameカラムにsiteurlか,homeがあるレコードを探す.両方ともに以下の処理をする
    4. option_valueにあるurlを確認する
    5. もしもwordpressがインストールされているfolder名が含まれていれば,そのfolder名を削除する(web stationで明示しているのでここには必要ない)
    項目説明
    siteurlWordPress本体(wp-login.php, wp-admin, プラグインなど)が存在するインストール先URL
    homeサイト訪問者に表示されるホームURL(TOPページ)

    <wp_posts表の修正>

    web station -> web service -> Edit Native Script Language Website -> Document rootには、wordpressが置かれているfolderを明示的に指定しているので,DB上で設定する必要はない.

    wp_postsには投稿のguidカラムがあり,そこには、”https://harikiri.diskstation.me/myblog/?p=1″のように一意にidが設定されている.このままでもサイトは稼働するが,site 2の投稿idではないので,site 2用に修正する。投稿数が多いがphpmyadminの置換機能で正しい値に一括置き換えを行う.

    1. site 2で使用しているDB2をクリック
    2. DBの横にある「+」をクリック
    3. 全てのテーブルが表示される
    4. テーブルwp_postsをクリックしてレコードを表示させる
    5. タブメニューの「検索」をクリック
    6. 表示された「検索と置換」ボタンをクリック
    7. 検索条件に,”/site 1のurl/<folder名>”を入力する
    8. 置換文字列に,”site 2のurl”を入力する
    9. (注: folder名は必要ない)
    10. カラムに,”guid”を選ぶ
    11. 実行
    12. 置換する投稿のリストが表示される
    13. 問題なければ,”置換”ボタンを押す
    14. 以上

    挿入内部リンクの修正

    page(固定ページ)およびpost(投稿)には内部画像のリンクがあるとむ思う.もしも,ベージの編集画面でリンクが外れてしまった場合は,リンクのアドレスの修正が必要になる.

    編集画面でpostを開いた時に張り付けていた画像が表示されない場合はリンクが切れている

    原因の一つは,旧サイトのsiteurl : aaa.bbb.ccc/ddd, 及びhome : aaa.bbb.ccc,新サイトのsiteurlとhomeを同一にした場合,投稿内で張り付けていた画像のリンクがきれてしまう.

    原因は,画像のあるurlにはdddを含んだリンクとなっているはずで,編集画面のコードエディターに切り替えて確認することができる.

    対処 :

    以下sqlコードをphpMyAdminにログインしサイトDBに対して実行する.実行前にはDBをexportしておく.その前に事前に対象となるレコードを確認しておく.

    事前確認: 旧サイトでの画像が保管されていたリンク存在検査(sqlコード)

    SELECT ID, post_title
    FROM wp_posts
    WHERE post_content LIKE '%/myblog/wp-content/uploads/%';

    置換 : sqlコードの実行により置換する

    1. 旧ディレクトリリンク(%https://aaa.bbb.ccc/ddd%)を含むコンテントを取り出し(where),
    2. https://aaa.bbb.ccc/dddを
    3. https://aaa.bbb.cccに置換する.
    UPDATE wp_posts
    SET post_content = REPLACE(post_content, 'https://aaa.bbb.ccc/ddd', 'https://aaa.bbb.ccc')
    WHERE post_content LIKE '%https://aaa.bbb.ccc/ddd%';
    
    #具体的なコード
    UPDATE wp_posts
    SET post_content = REPLACE(post_content, 'https://harikiri.diskstation.me/myblog/wp-content/uploads/', 'https://harikiri.diskstation.me/wp-content/uploads/')
    WHERE post_content LIKE '%/myblog/wp-content/uploads/%';

    note: "%" の意味(LIKE句におけるワイルドカード)

    書き方意味
    %文字列%文字列を含む(前後に任意の文字列があってもOK)
    文字列%文字列で始まる
    %文字列文字列で終わる

    その他の表

    その他の表にもwordpressに導入しているpluginなどによっては,前述の処理が必要な場合があると考えられる.

    必要に応じて確認して修正する.


    まとめ

    1. 前提1: 既存のWordPressはSynology PackageではなくWordPressからダウンロードして導入している.
    2. 前提2: MariaDB 10はSynology Packageから導入している.
    3. 前提3: phpMyAdminはSynology Packageから導入している.
    4. DBは既存からexportし異なるuser権限(user2)でDB2を作りimportした.
    5. ディレクトリ分離:
      /web以下のフォルダ構造は,/web/<site 1用のフォルダ>に既存のwordpressファイルが格納されており,そのファイル群を今回新しく複製(copy)して/web/<site 2用のフォルダ>に2つめのwordpress 用とした.それぞれは,独自にブラウザで表示と管理ができるMulti Domainにすることができた.
    6. harikir.diskstation.me(当サイト)用にportalを作りenable (又は作成直後)にすると,ブラウザは,コード500のエラー(internal sever error)や404エラー(ファイルがない)を吐いたが,wp-config.phpや.htaccessの修正で解決できた.
    7. wp-config.phpの修正
      • データベースに関する環境変数の修正
      • /web/<site ?用のフォルダ>と,urlでは<site A/B用のwordpressフォルダ名を使用しないので齟齬がある.この修正が必要だった.
    8. RT6600ax Routerでの設定でポート転送していても,web stationの設定により問題なく2つのサイト(一つのNAS上の2つのwordpress)に振り分けられる.ホスト名(ドメイン名)は,やり取りされるHTTPリクエストのヘッダーに含まれるためドメイン名で振り分けされている(ようだ).
    9. 検討の過程で,reverse proxyによるport設定も試したが,web stationでの設定しているため,二重の設定となるためreverse proxyの設定は必要でない.
    10. 既存のsite 1のみで稼働させていた時は,default serverが使用されていた(と考えられる).今回の検討では,明示的に管理したかったので,2つのサイトにそれぞれCustomized Portal (仮想host / server)を構築した.
    11. AI君が言うには,default severは,定義された任意のドメインに一致しないリクエストが来た場合に応答する「最後の受け皿」となる仮想hostとのこと.
    12. web stationにあるこのdefault serverは削除することはできない.

    今回構築したこの「複数サイト構成」の呼び方:(by 4o)

    呼び方対応解説
    マルチドメイン(Multi-Domain)✅ 適切異なるドメイン名(FQDN)で異なるWebサイトを運用する構成。
    今回のように harikiri.diskstation.meもう一つのurl がそれぞれ独立して動作していれば、これは正しくマルチドメイン構成です。
    マルチサイト(WordPress Multisite)❌ 非該当WordPressの1インスタンス内で複数のサイト(サブディレクトリやサブドメイン)を運用する機能。
    今回はWordPressインスタンスを2つ別々に構築しているため、マルチサイトではありません。
    シングルサイト ×2(独立サイト)✅ 技術的にはこちらも正しい単に2つのWordPressがNAS上に別個に存在している構成なので、2つの独立したWordPressサイトと呼んでも間違いではありません。

    ただし、「WordPressのマルチサイト構成」ではないことには注意が必要です。マルチサイトはひとつのWordPressの中で複数のサイトを管理する仕組みで、今回のように個別にWordPressをインストールし、それぞれのドメインで運用している場合は、それぞれが独立した「シングルサイト」です。

    FAQ:

    1. DBの修正を終えてWebブラウザで表示させたとき,表示はするが表示までの時間が長い場合,以下をチェックする.
      • DBの修正をミスしている.具体的には,site Aとsite Bのurlや/web/<folder A>と/web/<folder B>の置換のミス.以下のように設定を確認する.
      • テーブルのwp_optionsにあるsiteurlhomeを含むレコードが,サイトのurlであることを確認する.
      • テーブルのwp_postsのカラムのカラムのguidは,url+”?p=<数字>” (ex: harikir.diskstation.me/<wordpressがあるfoler名>/?p=1)となっているか.正しく置換できているか確認する.
      • どうしても正常にできない場合は,再度,DBをimportし直すところから始める.具体的には,当該DBを削除し,改めて当該DB名でDBを作成.その後,本編でも解説しているように,既存のDBのエクスポートファイルをimportして,修正作業をやり直す.
    2. 管理者でログインしてもログイン画面にならない場合の対処例
      • 基本的な作業は,再度,DBをimportし直すところから始める.
      • DBのwp-optionsのsiteurlとhomeを修正する.
      • ブラウザから当該サイトを表示させてみる.フロントページの表示ができら以下に進む.
      • wp_postsのguidには,オリジナル(site 1)のurlが記載されているので,当該サイト(site 2)のurlに置換する.
      • ブラウザで表示していみる.
      • 以上,ステップバイステップで確認していく.
    3. 環境変数(この記事中で説明しているwp-config.phpなど)をミスした場合,web server (portal)のレスポンスが失われることがある.その場合,MariaDB10の再起動,web stationのportalの再起動をしてやれば,レスポンスは回復する.NASのrebootは必要ない(はず).
      • MariaDB10のreboot : package centerからMariaDB10をクリック(openボタンではない)し,現れる「Open」ボタンの右横の矢印でStopを選択する.停止できたら,同じ要領でRunを選択する.
      • Portalのreboot: Web StationのWeb Portalをクリック.表示されるportalをクリックして選択.Actionボタンのリストからdisableをクリック.disableできたら,同じ要領でenableボタンをクリックする.

    HTTPエラーコード一覧(代表例)

    ステータスコード名前意味・原因の概要要確認
    404Not Found要求されたページが存在しない
    → URLの間違い、削除済み、リンク切れなど。
    portalがdisableに..htaccessが無い.
    403Forbiddenアクセスが禁止されている
    → パーミッションエラー、アクセス制限、IP制限など。
    Access control profileなどで外部からのアクセス制限など.
    500Internal Server Errorサーバー内部で予期せぬエラーが発生。
    → プログラムのバグ、設定ミス、.htaccessの誤りなど。
    別のserverの.htaccessを使用している..htaccess内のpath指定が不整合

    あとがき

    複数サイトの稼働様子を見ながら,2つ目のサイトの構築を進めてきた.生じた問題については以下に示しているので参考にしてほしい.


    2025/06/25, redis serverの確認(bridgeではなくhostになっていること)とwordpressのredis object cacheの設定(host設定とdatabase番号に関してwp-config.phpに設定する)がうまくいき,さらにapache 2.4がNASのreboot後に自動起動しないことについてtask schedulerで起動させることで数日の間,安定稼働している.

    2025/06/20, 3台のweb server (multi domain)の安定稼働には,default serverのservice設定を適切にすることでレスポンスを失う事態にはまだいたっていない.このまま稼働を継続する.

    2025/06/18, 結局,アクセスできなくなる現象(404)が生じた後に,MariaDB10をrebootすることで解消できることが分かった.その後,2~3時間すると,また,両サイトともに404エラーとなり,その後復旧しないというトラブルは引き続き変わらない.AI君と相談し原因・対策を検討した結果,2つ目のサイト用に別のuser2でのDB2を作成することで,当該トラブルは解消されている(12時間ほど2サイト構成で稼働).

    2025/06/17, 昨日に続き,サイドInternetからいずれのHome Pageにもアクセスできなくなる現象が起きた.更に,Google Analiticsの新規ユーザー数が低下したことからアクセスされていないようだった.
    対策として,Web Stationから,新たに構築した2つ目のPortal(virtual host)をDesableし,且つ,Routerはrebootせずに,Networkプロバイダーとの接続をやり直すことで,オリジナル(harikir)は復旧してブラウザで表示されるようになった.Multi Domainの設定に不具合が残っていると考えられる.夜中はアクセスが少なくなるので,夜中から早朝で追加のテストを実施し様子を見ることにする.

    2025/06/16, 1つ目(オリジナル)および2つ目もinternet(外部)からアクセスできなくなる現状が起きた.この日の対策は,Routerのrebootで解決したので,Routerが原因ではないかと考えてた.


    編集履歴

    2025/06/15, Mrはりきり
    2025/06/16, 追記(ブラウザ表示レスポンスが遅い場合の原因と対処)
    2025/06/17, 追記(ログインできるが管理者画面にならない時のWebStationの設定対処法,Let’s Encription関係, internetからアクセスできない現象が多発したがportalのdisableで測復旧することから,正しくない設定が残っていると考えられる)
    2025/06/18, internetからアクセスできない(404)問題は,MariaDB10に原因があることが分かり,別user2で別DB2を作ることで404を解決できた.Let’s Encriptionは,settingsでサイト用に証明書を設定することでセキュリティ問題を解決した.
    2025/06/19, 3つのサイトに増やして稼働テスト中,何度となくMariaDBをrebootして復旧.なにかミスしている.
    2025/06/20, default serverのsirviceの設定を修正することで3つのportalを安定稼働できるようになった.
    2025/06/25, 更に,Redis Serverに関する設定を追加した(これがもっとも重要だった)
    2025/07/02, 投稿に挿入していた画像保存ディレクトリの修正(sqlコード)の説明追記

  • DoE ; Design of Experiments (実験計画法)の基礎知識 [2025/06/13]

    DoE ; Design of Experiments (実験計画法)の基礎知識 [2025/06/13]

    はじめに

    実験計画法(DoE: Design of Experiments)は、複数の因子が結果に及ぼす影響を統計的に解析し、効率よく最適条件を見つける手法である。

    たとえば3因子3水準のフルファクタリアル実験では全組合せ27通りが必要だが、直交配列表(Taguchi法)を用いれば9通りの実験で主効果を評価でき、実験数を大幅に削減できる。

    この直交配列表は「直交性」に基づき、因子の水準が他因子と独立に出現するよう設計されており、バランスよく主効果を評価できる一方、交互作用の解析には向いていない。

    直交配列表は空間的配置(立方体の角や中心点など)を考慮せず、統計的抽出に基づいた設計である。これに対し、中心複合計画(CCD)やBox-Behnken法などの応答曲面法は、立方体の頂点、中心点、軸上点を利用し、応答の2次モデルを構築して最適条件を求める設計手法である。目的によって使い分けが必要であり、主効果だけを迅速に把握したい場合は直交配列表、交互作用や非線形な関係まで評価したい場合はフルファクタリアル設計や応答曲面法が適している。

    例えばL9直交配列表では3因子3水準の9通りの実験条件があり、各因子の各水準が均等に現れる。これは実験数を抑えつつ要因の影響を見極めるのに有効で、工程設計や品質改善に多用されている。総じて、DoEは目的に応じて設計法を適切に選択することが成功の鍵である。


    実験計画法の種類と特徴

    Q:

    交互作用がある場合は,最小実験数が可能な直行配列表では不十分だが,実験計画法におけるそれぞれの特徴や強み弱みなどを表にして比較して

    ChatGPT:

    以下に、**実験計画法における代表的な設計法(特に直交配列表と他の主な手法)**について、
    交互作用の扱いや実験数、適用目的などを含めて、特徴・強み・弱みを比較した表を示します。


    実験計画法の設計手法比較表(交互作用の扱いに着目)

    設計法主効果の評価交互作用の評価実験数主な用途・特徴強み弱み
    フルファクタリアル◎(精密に評価)◎(すべて評価)多い(例:3^3=27)精密な解析やモデル構築・すべての効果を正確に評価
    ・交互作用の詳細把握
    ・実験数が多く高コスト
    ・スケールしにくい
    直交配列表(Taguchi法)◎(効率よく推定)△(限定的または無視)少ない(例:L9で9)主効果の把握、工程最適化・少数の実験で主効果が明確に
    ・因子のバランス良
    ・交互作用をほとんど考慮しない
    ・モデル予測には不十分
    Box-Behnken設計○(一部のみ)中程度(例:3因子で15)応答曲面法(回帰モデル用)・実験数を抑えつつ曲面モデル構築可・極端な条件が含まれにくい
    ・実験数は直交配列より多い
    中心複合計画(CCD)中〜多(例:3因子で20前後)応答最適化、曲面解析・2次モデルに適し最適化が可能
    ・中心点で精度確認可
    ・直交配列より多い
    ・計画がやや複雑
    部分因子計画(Fractional factorial)△〜○(解像度により)減らせる(例:3因子→半分)要因探索、コスト削減・重要な効果を効率的に抽出・交絡(confounding)リスク
    ・正確性に制限あり

    補足解説:

    • フルファクタリアル
      → 交互作用も網羅的に分析したいときに有効。ただし、因子数が増えると実験数が爆発的に増える。
    • 直交配列表(Taguchi法)
      → 実験数を最小限にしたいときや主効果のみに焦点を当てるときに有効。
      → 「交互作用を捨てる」代わりにコスト削減に寄与。
    • Box-Behnken / CCD
      → 応答曲面法として最適条件を探索したいときに向く。
      → 曲線的な関係(2次モデル)にも対応できる。
    • 部分因子計画
      → 全実験を行う余裕がない場合、情報の一部を犠牲にして効果的に要因を絞り込める。

    用途別のおすすめ設計

    目的推奨設計法
    少数の実験で主効果だけ知りたい直交配列表
    交互作用を正確に把握したいフルファクタリアル
    応答の最適化(最小値や最大値)CCD または Box-Behnken
    因子が多くフル実験が困難部分因子計画

    3因子x3水準での各実験計画法における実験数

    実験数が各実験計画法でいくつ必要か聞いた.

    Q:

    DOE (design of experiments)について,3要因3水準で必要な実験数はいくらか

    ChatGPT:

    DOE(実験計画法)において、3要因・3水準の実験を行う場合、基本的には以下のように実験数が決まります:


    ■ フルファクタリアル実験の場合

    • 各要因が3水準 → 33=273^3 = 2733=27 通り
    • 答え:27実験

    ■ その他の設計の例(簡略化)

    場合によっては実験数を減らすために以下のような手法も使われます:

    実験計画法実験数説明
    フルファクタリアル27全組み合わせを網羅する完全実験計画
    直交配列表(L9など)9代表的な9通りを選んでバランス良く検討(Taguchi法など)
    Box-Behnken法15回帰モデル用。3要因×3水準では15点必要
    中央複合計画(CCD)通常20前後応答曲面法に用いられる。中心点・星型点を含む

    まとめ(代表的な設計別)

    設計法要因水準実験数の目安
    フルファクタリアル3327
    L9直交表339
    Box-Behnken3315
    CCD(中心複合計画)3320(構成により変動)

    ご希望の目的(精度重視 or 実験数削減)に応じて適した設計を選ぶことが重要です。必要であれば、それぞれの設計について詳細もご案内できます。

    Q:

    実験計画法では直行配列表が最も実験数が少ないのはなぜか

    ChatGPT:

    実験計画法(DOE)において**直交配列表(特に田口法などで用いられるもの)が最も実験数を少なくできる理由は、次のような「直交性の原理」と「効果の分離設計」**に基づいています。


    ■ なぜ直交配列表は実験数が少ないのか?

    直交性により最小限の組み合わせで効果を推定できる

    • 直交配列表では、各因子の水準が他の因子と独立かつバランス良く配置されている。
    • これにより、交絡(コンファウンディング)を最小限に抑えつつ、主効果を明確に推定できる。

    交互作用をあえて捨てる・限定的に評価する

    • 直交配列は主に「主効果」に重点を置き、交互作用は評価しないか、ごく一部だけを見る設計になる。
    • そのため、実験数を大幅に削減できる。

    水準の組み合わせが「情報効率よく」配置されている

    • L9(3因子×3水準)なら9通りの実験で3因子の主効果を評価可能。
    • フルファクタリアル(27通り)を使わずとも、統計的に同等な精度の推定が可能なよう工夫されている。

    ■ 例:3因子×3水準の場合の比較

    設計実験数特徴
    フルファクタリアル27すべての交互作用が評価可能だが高コスト
    L9直交配列表9主効果のみに集中。交互作用の解析は制限されるが、実験数は大幅に少ない

    ■ 直交配列表の設計思想

    • 情報の「重複」を避け、無駄のない最小限の実験で有効な比較ができる。
    • 「直交性」とは、各因子が他因子の水準と独立に現れること
      • たとえば、A=水準1が出るとき、B=水準1,2,3が均等に現れる。

    ■ 実験数が少ない=万能ではない点

    • 詳細な交互作用の解析が必要な場合は、直交配列表は不十分。
    • 精密な予測モデルを構築する際は、フルファクタリアル設計や応答曲面法が必要になることもある。

    まとめ

    直交配列表は、
    ✅ 主効果だけを効率的に評価し、
    ✅ 各因子を独立かつバランス良く変化させ、
    ✅ 実験数を最小限に抑えるよう設計されている
    ――ことが、実験数を減らせる最大の理由です。


    直行配列表とBox-Behnken法の違い

    Q:

    直行配列表(taguchi法)は,立方体の8つの角と中心および中間点などを考慮した考え方で実験点を設定し実験数を求めていると考えてよいか

    ChatGPT:

    ご質問の「直交配列表(Taguchi法)」と「立方体の8つの角+中心+中間点」という発想は、実は異なる設計理論に基づいており、両者は直接的には一致しません

    以下に、その違いと背景を明確に解説します。


    1. 直交配列表(Taguchi法)の考え方

    ● 本質は「統計的バランス(直交性)

    • 直交配列表(Taguchi法)は、因子と水準の組合せをバランスよく配置し、主効果を効率的に推定できるよう設計された配列です。
    • 目的は、できるだけ少ない実験回数で重要因子の効果を明らかにすること
    • 配列は「直交表(Orthogonal Array, OA)」をベースにしており、これは幾何的な空間構造(立方体)とは無関係です。

    ❌ 立方体の頂点や中心点を意識していない

    • 直交配列表は「直交性の条件を満たす最小限の組合せ」を選び取る設計なので、空間的な配置(例:立方体の角)を意識していません

    2. 立方体の角や中心・中間点を使う設計:応答曲面法(RSM)

    ● 該当するのは「中心複合計画(Central Composite Design, CCD)」や「Box-Behnken法」

    • CCDでは、**立方体の8つの角(因子が±1の全組合せ)+中心点+星点(中間点や外側点)**を使います。
    • これは主に2次の回帰モデル(曲面)を構築するための設計で、空間的な分布を考慮しています。
    設計法空間構造(立方体)との関係
    CCD(中心複合計画)◎(角点、中心点、軸方向点)
    Box-Behnken法○(中間点のみ、角点なし)
    直交配列表(Taguchi法)✕(空間的構造には依存しない)

    3. 結論:設計目的と理論が異なる

    比較項目直交配列表(Taguchi法)CCD(中心複合計画)
    目的少数の実験で主効果を評価応答の最適化・モデル構築
    因子水準配置直交性に基づく抽出空間的な幾何配置に基づく
    実験点の配置計算的・統計的に定義立方体の角+中心+軸上点
    適用分野工程設計、品質工学応答最適化、数学モデル

    まとめ

    ❌「直交配列表(Taguchi法)は、立方体の8つの角や中心点・中間点を考慮して設計されている」
    これは誤りです。

    正しくは、直交配列表は因子の主効果を直交性に基づいて効率よく推定するための統計的設計であり、空間的な配置(立方体構造)とは関係ありません。


    必要であれば、CCDやBox-BehnkenとTaguchi法の具体的な点配置の図示やサンプル表もご提供できます。


    その他具体例

    Q:

    CCDやBox-BehnkenとTaguchi法の具体的な点配置の図示やサンプル表もご提供して

    ChatGPT:

    以下に、CCD(中心複合計画)Box-Behnken法Taguchi法(L9直交配列表)の3因子設計について、
    それぞれの点配置の図示(概念図)とサンプル表をわかりやすく比較してご紹介します。


    1. Taguchi法(L9直交配列表:3因子×3水準)

    ■ 点配置(図示イメージ)

    3次元空間における点配置は立方体上にない(統計的に配置)

    コピーする編集する点は立方体の角や中心にはなく、統計的バランス重視の配置。
    (例:1,1,1 → 1,2,2 → 1,3,3 → 2,1,2 → …)
    

    ■ 実験表(L9 OA)

    実験NoABC
    1111
    2122
    3133
    4212
    5223
    6231
    7313
    8321
    9332

    2. Box-Behnken法(3因子)

    ■ 点配置(図示イメージ)

    • 各因子は 中間水準と中心点 のみ使用。
    • 角点(±1, ±1, ±1)は含まれず、軸上の面の中心点+中心点
    点配置例:
    ● ●



    ● ●
    (各軸方向に中間点、中央に中心点)

    ■ 実験表(3因子で15実験)

    実験NoABC
    1-1-10
    2-110
    31-10
    4110
    5-10-1
    6-101
    710-1
    8101
    90-1-1
    100-11
    1101-1
    12011
    13000
    14000
    15000

    ※ -1, 0, +1 は低・中・高水準を標準化した値


    3. 中心複合計画(CCD)

    ■ 点配置(図示イメージ)

    • 立方体の角点(±1,±1,±1):8点
    • 中心点(0,0,0):複数回
    • 軸上の「星点(±α,0,0など)」:各因子2点 × 3因子 = 6点

    ■ 実験表(例:α = 1.682、20点程度)

    種別ABC
    角点-1-1-1
    角点-1-11
    軸点00
    軸点00
    中心000

    まとめ表

    設計法点の種類実験数(3因子)特徴
    Taguchi(L9)統計的な代表点9少数の実験で主効果のみを評価
    Box-Behnken面の中心+中心点15応答最適化向け、極端条件を避ける
    CCD角点+星点+中心点約20曲面最適化向け、精密な2次モデル

    実験数を決定するルール

    Q:

    それぞれの実験計画法についてどのような理屈でその実験ポイントを選ぶのかのルールをそれぞれ表にして示して

    ChatGPT:

    以下に、代表的な実験計画法である Taguchi法(直交配列表)Box-Behnken法中心複合計画(CCD) について、
    実験点の選定ルール背後にある理屈・設計原理を明確に比較した表を示します。


    各実験計画法の実験点選定ルール比較表

    実験計画法実験点の選び方(ルール)設計の理屈・背後の考え方特徴的な点配置
    Taguchi法(直交配列表)・事前に定義された「直交表(Orthogonal Array)」を使用
    ・すべての因子がバランスよく各水準に現れるよう構成されている
    ・交互作用は原則評価しない(または簡略に)
    直交性(要因同士の独立性)とバランス性(各水準の均等出現)を重視
    ・主効果を最小実験数で明確にすることが目的
    統計的に選ばれた水準組み合わせ(空間上の幾何配置は無関係)
    Box-Behnken法・各因子の水準を「-1(低)」「0(中)」「+1(高)」に設定
    ・因子2つの水準を±1に変化させ、他の因子を0に固定
    ・すべての因子の交互作用を等しく評価可能なよう設計
    2次モデルの構築を目的とし、曲面の形状推定に適する点を選定
    ・極端条件を避けることで実験リスクを軽減
    立方体の各面の中心+中心点(角点は使わない)
    中心複合計画(CCD)・3種の点で構成:
    ①角点(±1,±1,±1)
    ②星点(±α,0,0…)
    ③中心点(0,0,0)
    ・αは回転性や直交性を保つよう計算(例:α = 1.682)
    応答面の2次モデルを精密に構築するため、
    曲率情報を得られるよう点を空間全体に分布させる設計
    ・**回転不変性(rotatability)**を持たせる
    立方体の角点+軸上の外部点(星点)+中心点

    各設計法の設計原理を簡潔にまとめると:

    設計法設計原理のキーワード主な目的
    Taguchi法直交性・主効果の抽出少数実験で主効果の比較
    Box-Behnken中央面設計・2次モデル構築応答曲面の最適化(実験負担少)
    CCD回転性・曲率情報の確保応答曲面法による精密な最適条件探索

    参考:各水準の意味(数値モデル)

    水準数値表記意味
    -1-1低水準
    00中央水準
    +1+1高水準
    ±α±1.682など星点(軸上外側)

    編集履歴

    2025/06/13, Mrはりきり(with 4o)


  • Synology : RT6600ax ~ローカルから「当サイト」は閲覧できたが外からは見れなかった原因 (2025/06/12_9:00~10:40普通)になった対応の結果について [2025/06/16追記]

    Synology : RT6600ax ~ローカルから「当サイト」は閲覧できたが外からは見れなかった原因 (2025/06/12_9:00~10:40普通)になった対応の結果について [2025/06/16追記]

    はじめに

    朝起きて何気に行っている当サイトの確認ルーチンにおいて,iPhoneのSafariからサイト閲覧ができない現象に遭遇した.

    機器構成は以下のとおりけ

    1. Synology Router : RT6600ax
    2. Web Server : Synology NAS (DS920+)
    3. iPhone
    4. iPad
    5. Windows 11 マシーン

    現象は以下の通り.

    1. iPhoneのSafariでサイト閲覧ができなかった
    2. WordPressのフロントページのキャッシュを削除しても解決できなかった
    3. iPhoneのChromでは閲覧ができた
    4. iPadのSafariでは閲覧は可能
    5. iPadのChromでは閲覧ができた
    6. Windows 11のEdgeでは当サイトの閲覧は可能であった.
    7. Windows 11のネットワークをiPhoneのテザリングに繋げて外部から当サイトを閲覧してみたところ,つながらなくなった.
    8. Windows 11のEdgeでPageSpeed Insightに行き,当サイトの分析を実施したが,「解決できない」と表示され分析は不可であった.
    9. Web server用のNASの転送ルール,ファイヤーフォールの設定は問題なかった.
    10. サイトの証明書(Let’s Encription)を更新しても解決できなかった.
    11. Synology Routerのglobal IP addressを確認してみると記載されていることを確認できた.

    解決

    1. Windowsのターミナルを起動して,当サイトに割り当てられているBlobal IP Addressにpingしてみたところ,応答なしであった.
    2. Synology Routerを再起動し再度Global IP Addressを取得させることにした.再起動後,サイトは閲覧可能となった.
    3. 以上

    以上,解決までに1時間40分を要した.

    Synology Routerはリブートの設定で1週間に一回にしていたが,以上の名前解決がおかしくなったタイミングでは再起動はされていないので,それが原因ではないと思うものの,セキュリティの観点からも毎日リブートさせる設定に変更することにした.

    その後

    6/12からは毎日Routerのrebootをしていたが,今日(6/16 10時頃から),当さサイトに繋がらくなく(普通)なったっ.出先だったので帰宅した13:20にRT6600ax Routerを確認してみると稼働は正常運転のように見える.global IPも表示されている.しかし,Local Networkにおいても当サイトにアクセスできなかったので,RT6600axを再起動させた.

    しばらくすると開通した.

    Routerの再起動により復旧したが,前回と同様の現象のようだ.

    そろそろへたってきたか.買い替えることも考えないといけないのか.憂鬱だ.

    SynologyからRT6600axに代わる新機種はでていないようなので,Synology以外も想定しないといけいないな.管理を考えると憂鬱だ.

    編集履歴

    2025/06/12, Mrはりきり
    2025/06/16, 追記(再度同じ問題が発生したようだ)

  • Excel : 3軸グラフ ~2軸の組み合わせで決まってくる3軸目の値から2つの軸の組み合わせの評価に使う~ [2025/06/11]

    Excel : 3軸グラフ ~2軸の組み合わせで決まってくる3軸目の値から2つの軸の組み合わせの評価に使う~ [2025/06/11]

    はじめに

    今回はExcelにおける3Dグラフについて解説する.

    2つの変数が一対一で決まってくる関係性は,二つの軸でグラフを書くのが一般的である.3軸(3D)のグラフは,2つの変数の組み合わせで,もう一つの変数が決まってくる関係性を可視化できるグラフである.

    図1のように3要因(3つの変数データ)を表にして図2のように等高線を選択すると3Dグラフを表示できる.例示した図では,製造コストは,製造規模(スケール)と準備しなければならないクロマトグラフィの数の組み合わせで決まってくる関係性を示している.


    Image

    図1. 3つの要因をプロットする


    Image

    図2. 等高線で3Dグラフを作る


    応用

    バイオ医薬品での製造法の開発では,最適な条件の組み合わせを多数実験し,それを3Dグラフ化して視覚的に判定する場合に非常に役立つツールである.

    例えば,カラムクロマトグラフィーの条件検討,ここでは洗浄条件の個別検討の場合,各種バッファー(緩衝液)を検討したとする.得られた洗浄画分のバッファー(電気伝導度とpH)毎の目的タンパク質の濃度データを,等高線でプロットし評価するなどが例示される.

    これは,DoE (Design of Experiments; 実験計画法)の基礎となる.


    編集履歴

    2025/06/11, Mrはりきり

  • ギリシャヨーグルト 「バルティノ(はちみつ付)」にコーヒーを少々添加すると今までに無い新鮮な味 ~ 例えるとプリン風だが苦みが効いていて新感覚! [2025/06/11]

    ギリシャヨーグルト 「バルティノ(はちみつ付)」にコーヒーを少々添加すると今までに無い新鮮な味 ~ 例えるとプリン風だが苦みが効いていて新感覚! [2025/06/11]

    毎日,

    朝は何がしかのヨーグルトとコーヒーですませているが,今日は,森永乳業のギリシャヨーグルト「バルティノ(はちみつ付」だった.

    Image

    付属の「はちみつ」容器を傾けてヨーグルトに流しいれるのだが,どろどろで粘土が高い.そこでスプーンですくって回収を試みた.

    それでも十分に回収できないので,コーヒーをスプーンに取り容器に入れてかきまぜてヨーグルトに移しいれてロス無くはちみつを回収することができた.

    コーヒー交じりのはちみつ+パルティのを食してみると,うッ.おいしい!

    更にコーヒーをスプーンに取り何度となくヨーグルトに移してから,はちみつと共に食した・・・何とも新鮮な味かした.プリンに似た食感が手伝ってか,プリンの風味にも似ているが,新食感.なかなかいける!

    パルティノは,そもそも酸味が少なく追加の味付けが引き立つが故(ゆえ)の結果だろうと,はりきりは結論した.

    はりきり.

  • blender : modeling ~ コップを作る ~

    blender : modeling ~ コップを作る ~

    はじめに

    blenderで3Dキャラを作りたくて,AI君と共にもう7カ月も悪戦苦闘している.今日はコップを効率的に作る方法を4oに聞いてみたが,僕のようもこんなにつたないプロンプトで正解を出せたなと感心したところだ.では以下,本題に入いろう.


    コップのモデリング

    コップの容器の構造は,内と外の壁により厚みがある.これを作るのに思いついた方法は,シリンダー(筒)を二つ作って,両方の上の円の面を削除し,相対するvertex(点)またはedge(線)を使って面を作るとコップの基本構造を作ることが出来る.

    ディテールは,シリンダーの上下の直径を異なるようにテーパーを付けたり,取っ手も付けたりすればいい.

    textureは基本的に使用したくない(絵を描きたくない)ので,materialに適当なBSFDを追加して色やメタリック,Emissionなどを調整する.

    AI君んに聞いてみた

    Q:

    lenderにおいて,コップを作るために以下の操作をした.シリンダーを大中2つを追加し内側と外側に配置した.二つのシリンダーのそれぞれの上面の円の面を削除した.次にコップの内側と外側について,上面を削除して現れた内側と外側の対となるvertexを使い四面をつくることで内側と外側を閉じたい.ただし,内側と外側の対となるvertexを使い四面を作る作業を連続してシンプルに作業する方法はあるか?

    ChatGPT:

    はい、Blenderで外側と内側のシリンダーの開いた上面(リム)の間に四面(面)を連続して効率的に作る方法はいくつかあります。以下に最もシンプルで確実な方法を紹介します。


    ✅ 目的

    外側シリンダーと内側シリンダーの上面の開口部分の各頂点ペア間に四角形の面を一気に作って「コップの厚み」を形成したい。


    ✅ 方法1:すべての外周頂点を正しく選んで「Bridge Edge Loops」

    🔧 操作手順

    1. Edit Modeに切り替え(Tabキー)
    2. 両方のシリンダーの上面の開口部のループエッジを選択
      • 頂点数が同じで、対応して並んでいる必要があります
      • 外側と内側の**「リム(縁)」をリング状に選ぶ**
      • コツ:
        • 外側の開口エッジ:Alt + 左クリックでループ選択
        • Shiftを押しながら内側のエッジもAlt + クリックで追加選択
    3. F3キー → Bridge Edge Loops と入力して実行
       または、メッシュメニュー > Edge > Bridge Edge Loops
    4. 四角形の面が自動的に張られる

    ✅ 補足設定(Bridgeのオプション)

    • Number of Cuts を 0(デフォルト)に
    • TwistFlip の設定を変更すると向きを調整できます(向きがおかしいとねじれる)

    ✅ 方法2(補足):1対ずつ手動で張るなら「LoopTools > Bridge」

    • アドオン LoopTools を有効にすれば、より柔軟な Bridge が可能
      • 有効化:Edit > Preferences > Add-ons → “LoopTools” を検索してチェックを入れる

    ✅ 注意点

    項目注意内容
    頂点数が一致外側と内側のリングが同数の頂点で、対応する順番で並んでいる必要あり
    ねじれ防止順番がズレていると面が「クロス」してしまう(Twist方向で調整)
    抜けの防止頂点選択時に1つでもミスがあると正しく面が張られない

    ✅ 結論

    Blenderでコップの厚み部分(内外の側面)を一気に閉じるには、Bridge Edge Loops を使って、内側・外側のリムエッジを選択して自動生成するのが最も効率的です。


    結論とまとめ

    AI君が言いたいことは,

    Edge > Bridge Edge Loops

    を使用しろ,ということだが,それを踏まえてコップを作る手順について以下にまとめた.

    (4oよ.よくぞ正解を答えてくれた.満足だ!)

    コップを作る手順

    1. シリンダーを追加(Shift+A)
    2. 多きさ調整(S -> MBR->カーソル移動)
    3. 上の円の全てのEdgeを選択(円のエッジ近傍に対してAlt+MBR)
    4. 上下の円の直径を違える(S -> MBR)
    5. 円を削除(number 3 -> MBR -> X -> F)
    6. Object modeにする
    7. 複製する(Shift+D)
    8. 外側の壁にするために大きくする(S ->MBR -> カーソル移動)
    9. 最後に,コップの上部円の部分の内と外の壁は開いているので,以下の手順により閉じる.
      • 塞ぎたい(closeしたい)エッジを選択する : 内と外の上部の円のEdgeを全て選ぶ(Alt+MBR (内の円の部分の一つのEdge近傍に対して) -> Alt+Shift+MBR (同様に外に対して)
      • 塞ぐ : Edge -> Edge Bridge Loops
    10. 完了
    Image

    編集履歴

    2025/06/11, Mrはりきり

  • blender : modeling ~ オブジェクトのデザイン作業のための基本的なコマンドやキー操作(レジメ) [2025/06/10]

    blender : modeling ~ オブジェクトのデザイン作業のための基本的なコマンドやキー操作(レジメ) [2025/06/10]

    デザインしていく

    blenderで日々オブジェクト編集をしているので,新たに知った操作法をまとまりのあるb操作法を以下にまとめている.

    1. オブジェクトをデザインしていく

    • オブジェクトのデザイン法 (2025/06/09追記)
      デザインの方法には基本的に2つある
      • (1)精密法 : Mesh(メッシュ)の頂点(vertex),線(Edge)および面(face)を一つずつ追加/削除/移動して仕上げていく精密法
      • (2)粘土法 : 彫刻(sculpt)のように粘土や木材を対象にザックリとデザインしていく方法がある(粘土がしっくりくるのでこの命名にした).
    • (1)精密法 :
      • 綿密に四角面のみで構成れるようにメッシュに調整していく.
      • 精密なキャラクターなどのデザインの制作
      • ツールは,
        • A <key> : 全選択
        • Alt+A : オブジェクトの追加
        • ナイフ(knife): 面を増やすための基本操作
        • ループカット(loop cut): 線の線の間に追加の線を引いたり,既に描かれた線や描きたい線が正しいかの予測に使用したりできる
        • Alt+J : 三角面を四角面にする(A <key>で選択してこのキーを実行)
        • v <key> : 分離
        • m<key> : 結合
        • x<key> : 削除
        • 三角や五画以上の面が無いかチェックする(できる) : loop cut/Ctrl+Rを活用する
        • 表示させたい領域の切り出し(Alt+B)
        • 法線が乱れて滑らかさが無くなった表面を整える(A<key>に続いてAlt+N->Average->好みの処理)
        • 結合(J<key> : オブジェクト同士の融合
        • 複製(shift+D) : オブジェクトの複製
        • その他の操作 : 編集作業で効率的になるキー
    • (2)粘土法 : ある程度のデザインが固まったら,オブジェクトの構成要素である点,線および面の複数に対して操作する局面で使用する.
      • 岩やど自然界で存在する自然の形,即ち偶然的に出来上がるobjectの制作
      • ツールは,粘土遊び用のヘラが多数用意されているので馴染むものを見つけるのが良い.
    • 作業スペース
      両者とも,modeling workspaceを使用するが,前者ではobject modeとedit modeで作業を進める.一方,後者ではsculpt modeで粘土細工に使用するようなヘラツールツールを使ってザックリ作り上げていく.

    その他

    1. 編集に行うZoom In/Outのための設定
    2. キャラクターをデザインする<編集途中>
    • modeling workspaceにする
    • Shift+Aで
    • ・・・
    3. 服をデザインする (2025/05/20)

    bodyのデザインが完了したら,そのbodyをひな型にして服を作ってゆく

    1. 服部分にあたるvertex(点)またはFace(面)を選択
    2. Ctrl+Dで複製,そのままてMBRでLocationを決定
    3. 選択されてい状態のまま,MBL->Separation->selectionで別object(服)とする.
    4. bodyを右メニューのoutlineの目アイコンをクリックして必要に応じてbodyをの表示をオン/オフして服の形を整える
    5. Materialで適当なBSDFを設定して単色カラーを選択すれば簡単な服の完成
    6. 以上

    4. 反対側(裏側)から見ると透けて向こうが見える壁の作り方 (投稿)(2025/05/18)

    5. 関節の動きに合わせて表面を滑らかにする (記事)

    ポーズで左右の独立性がなくなり同時に動いてしまう場合は?
    • Modifierに設置するmirrorは最上位にリストされていないといけない
    • もしもarmatureなどのmodifierがmirrorの上にリストされている場合はmirrorを最上位に移動すること
    • armatureがmirrorの上にリストされているとarmatureを処理した後,mirrorの処理がされるため,最終的に左右対称になってしまう.

    編集履歴

    2025/05/18, Mrはりきり
    2025/05/20, キーの追加
    随時更新