nishiru3の日記

備忘録です。ネットのゴミ。

MySQLの設定

MySQL8.0のインストール

次のサイトでインストーラーをダウンロード。

URL:https://www.mysql.com/jp/

インストールファイル:
mysql-installer-community-8.0.11.0.msi

認証方式の変更

設定ファイルの変更

C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

の中の

「default_authentication_plugin=caching_sha2_password」

「default_authentication_plugin=mysql_native_password」
に変更。

ユーザーの確認と追加

MySQL 8.0 Command Line Client を立ち上げて確認。

SELECT user, host, plugin FROM mysql.user;

次のコマンドでユーザーを追加。

CREATE USER 'admin'@'localhost' IDENTIFIED by 'pass';

権限の付与

GRANT ALL ON projects.* TO 'admin'@'localhost';

これで、localhostのadminユーザーに対して、projectsデータベースへの権限を与えている。

phpでの接続確認とデータの追加

<?php
/**
 * MySQLへの接続
 */
$dsn = 'mysql:dbname=projects;host=localhost';
$user = 'admin';
$password = 'pass';

try{
    $dbh = new PDO($dsn, $user, $password);
    print('接続に成功しました。<br>');

}catch (PDOException $e){
    print('Error:'.$e->getMessage());
    die();
}
/**
 * データベースへの追加
 */
$id = 1;
$name = 'nanashi';

$stmt = $dbh -> prepare("INSERT INTO personal (id, name) VALUES (:id, :name)");
$stmt->bindParam(':id', $id, PDO::PARAM_STR);
$stmt->bindValue(':name', $name, PDO::PARAM_INT);
$stmt->execute();
#
$dbh=NULL;

フィッシャー情報量の事例(二項分布)[2019/8/17更新]

フィッシャー情報量

フィッシャー情報量は次の記事を参照。
nishiru3.hatenablog.com

二項分布の基本的性質

二項分布の基本的性質は次の記事を参照。

nishiru3.hatenablog.com

二項分布の対数尤度関数

f:id:nishiru3:20180711045424p:plain

二項分布のフィッシャー情報量(途中の式が間違っていたので修正)

f:id:nishiru3:20190727201650p:plain

定量の評価(2019/8/17追加)

f:id:nishiru3:20190817113054p:plain

参考文献

現代数理統計学 (創文社現代経済学選書)

現代数理統計学 (創文社現代経済学選書)

フィッシャー情報量[2019/8/17更新]

尤度関数

f:id:nishiru3:20180707110947p:plain

スコア関数

f:id:nishiru3:20180707111058p:plain

フィッシャー情報量(スコア関数の分散)

f:id:nishiru3:20180707111201p:plain

クラメル・ラオの不等式

f:id:nishiru3:20190817112926p:plain

参考文献

現代数理統計学 (創文社現代経済学選書)

現代数理統計学 (創文社現代経済学選書)

絶版になってしまうと思っていましたが、新装改訂版として出版されたようです。

新装改訂版 現代数理統計学

新装改訂版 現代数理統計学

逆関数法による指数分布に従う乱数生成

指数分布

指数分布の密度関数は次のとおりである。

f(x) = \lambda e^{-\lambda x}
\lambda >0, x>0

逆関数法による指数分布に従う乱数生成

#/usr/bin/env perl
use strict;
use warnings;
# 逆関数法による指数分布の生成
sub dexp {
    my $lambda = shift;
    my @x = @_;
    my @y;
    for my $xx (@x) {
        print "$xx"."\n";
        push @y, -log($xx) / $lambda;
    }
    return \@y;
}
# 連続一様分布の配列作成
my @x;
for my $i (1..100) {
    push @x, rand(1);
}
# 指数分布に従う乱数の生成
my $y = dexp(0.1,@x);
# 出力
for my $i (@$y) {
    print "$i"."\n";
}