裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

微妙に危うい統計学ページ

2024年01月16日 | R

この作者のページは,微妙に危ういところが多い。
コメントを付ける手立てがない(ような)ので,ここで指摘する。

【回帰分析】単回帰モデル⑥ Rを利用した分析
https://df-learning.com/regression_model_6

Windows プラットフォームのようで,ファイルを読み込むのに

> #データを読みこむ
> data <- read.csv("D:\\data1.csv")

としているが,"D:/data1.csv" で読み込めるのではないかな?

R スクリプトであるが,注釈行や区切り記号の前後に適切に空白を置くことをおすすめする

> #単回帰モデルの実行
> res=lm(y~x)

以下のように

# 単回帰モデルの実行
res = lm(y ~ x)

> 単回帰直線は𝑦=β1𝑥+β0

β1, β0 は母数で,推定されたのは推定値なので b1, b0 などと書くほうが妥当。

> Prが検定統計量tより大きくなる確率を表している。
> 𝐻0:β0=0と仮定したとき
> 𝐵̂ 0=8.23以下になる確率は0.082
> 𝐻1:β1=0と仮定したとき
> 𝐵̂ 0=0.01以上になる確率は0.00253

これらはすべて誤り。特に H0, H1 の使い方は常軌を逸している。
H0 は帰無仮説,H1 は対立仮説を表す。添字は帰無仮説の順番を表すの
ではない。

> 𝐻0:β0=0と仮定したとき
> b0=8.23「よりも極端な値を取る」確率は0.082

> 𝐻0:β1=0と仮定したとき
> b0=0.01「よりも極端な値を取る」確率は0.00253

> β0は . なので有意水準0.1つまり10%で有意である

「10%有意」などというのは使わないほうがよい。

> 特性値yと焼成温度xの関係性はないとは否定できない

二重否定をするのは,「帰無仮説を棄却できるとは言えない」というとき。

特性値yと焼成温度xの関係性はない(帰無仮説が棄却される場合)

特性値yと焼成温度xの関係性はないとはいえない(二重否定。帰無仮説を棄却できない場合)

どなたか,件のページ(作者)に直接コメントする手立てをご存じの方は教えてください。

 

コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

算額(その639)

2024年01月16日 | Julia

算額(その639)

長野県伊那市羽広 仲仙寺 文政9年(1826)
中村信弥「改訂増補 長野県の算額」

http://www.wasan.jp/zoho/zoho.html

長方形内に長さ 45 寸の甲弦(赤),長さ 36 寸の乙弦(青)がある。これらが交差してできる三角形の辺(大斜,中斜,小斜)の長さを求めよ。

長方形の長辺と短辺を a, b とする。
小斜の両端の座標を (x1, y1), (x2, y2) として,以下の連立方程式を解く。

本質的には eq1, eq2 で a, b を求めれば,eq3 〜 eq6 は使わなくても大斜,中斜,小斜を求める事ができるし,eq7 〜 eq8 は不要である。
条件として与えられる 2 つの数値を A,B として一般解を求めてみる。

include("julia-source.txt");
# julia-source.txt ソース https://blog.goo.ne.jp/r-de-r/e/ad3a427b84bb416c4f5b73089ae813cf

using SymPy
@syms x1::positive, y1::positive, x2::positive, y2::positive, a::positive, b::positive,
     大斜, 中斜, 小斜, A, B

eq1 = a^2 + b^2 - A^2
eq2 = a^2 + (b/2)^2 - B^2
eq3 = (b - y1)/x1 - b/a
eq4 = (y1 - b/2)/x1 - (b - y1)/(a - x1)
eq5 = (b - y2)/x2 - (b/2)/a
eq6 = (b - y1)/(a - x1) - (b - y2)/(a - x2)
eq7 = 大斜 - sqrt(x2^2 + (b - y2)^2)
eq8 = 中斜 - sqrt(x1^2 + (b - y1)^2)
eq9 = 小斜 - sqrt((x2 - x1)^2 + (y2 - y1)^2)

res = solve([eq1, eq2, eq3, eq4, eq5, eq6, eq7, eq8, eq9], (大斜, 中斜, 小斜, a, b, x1, y1, x2, y2))

   4-element Vector{NTuple{9, Sym}}:
    (sqrt(B^2)/2, sqrt(A^2)/3, sqrt(B^2)/6, -sqrt(-3*A^2 + 12*B^2)/3, -2*sqrt(3*A^2 - 3*B^2)/3, -sqrt(-3*A^2 + 12*B^2)/9, -4*sqrt(3*A^2 - 3*B^2)/9, -sqrt(-3*A^2 + 12*B^2)/6, -sqrt(3*A^2 - 3*B^2)/2)
    (sqrt(B^2)/2, sqrt(A^2)/3, sqrt(B^2)/6, -sqrt(-3*A^2 + 12*B^2)/3, 2*sqrt(3*A^2 - 3*B^2)/3, -sqrt(-3*A^2 + 12*B^2)/9, 4*sqrt(3*A^2 - 3*B^2)/9, -sqrt(-3*A^2 + 12*B^2)/6, sqrt(3*A^2 - 3*B^2)/2)
    (sqrt(B^2)/2, sqrt(A^2)/3, sqrt(B^2)/6, sqrt(-3*A^2 + 12*B^2)/3, -2*sqrt(3*A^2 - 3*B^2)/3, sqrt(-3*A^2 + 12*B^2)/9, -4*sqrt(3*A^2 - 3*B^2)/9, sqrt(-3*A^2 + 12*B^2)/6, -sqrt(3*A^2 - 3*B^2)/2)
    (sqrt(B^2)/2, sqrt(A^2)/3, sqrt(B^2)/6, sqrt(-3*A^2 + 12*B^2)/3, 2*sqrt(3*A^2 - 3*B^2)/3, sqrt(-3*A^2 + 12*B^2)/9, 4*sqrt(3*A^2 - 3*B^2)/9, sqrt(-3*A^2 + 12*B^2)/6, sqrt(3*A^2 - 3*B^2)/2)

4 番目のものが適解である。

大斜,中斜,小斜は B/2 = 18, A/3 = 15, B/6 = 6 である。

他のパラメータは以下の通り。

(A, B) = (45, 36)
(sqrt(B^2)/2, sqrt(A^2)/3, sqrt(B^2)/6, sqrt(-3*A^2 + 12*B^2)/3, 2*sqrt(3*A^2 - 3*B^2)/3, sqrt(-3*A^2 + 12*B^2)/9, 4*sqrt(3*A^2 - 3*B^2)/9, sqrt(-3*A^2 + 12*B^2)/6, sqrt(3*A^2 - 3*B^2)/2)

   (18.0, 15.0, 6.0, 32.449961479175904, 31.176914536239792, 10.816653826391967, 20.784609690826528, 16.224980739587952, 23.382685902179844)

大斜 = 18;  中斜 = 15;  小斜 = 6
a = 32.45;  b = 31.1769;  x1 = 10.8167;  y1 = 20.7846;  x2 = 16.225;  y2 = 23.3827

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   (A, B) = (45, 36)
   (大斜, 中斜, 小斜, a, b, x1, y1, x2, y2) = (sqrt(B^2)/2, sqrt(A^2)/3, sqrt(B^2)/6, sqrt(-3*A^2 + 12*B^2)/3, 2*sqrt(3*A^2 - 3*B^2)/3, sqrt(-3*A^2 + 12*B^2)/9, 4*sqrt(3*A^2 - 3*B^2)/9, sqrt(-3*A^2 + 12*B^2)/6, sqrt(3*A^2 - 3*B^2)/2)
   plot([0, a, a, 0, 0], [0, 0, b, b, 0], color=:green, lw=0.5)
   segment(0, b, a, 0, :red)
   segment(0, b/2, a, b, :blue)
   segment(0, b, a, b/2, :blue)
   if more
       delta = (fontheight = (ylims()[2]- ylims()[1]) / 500 * 10 * 2) /3  # size[2] * fontsize * 2
       vline!([0], color=:black, lw=0.5)
       hline!([0], color=:black, lw=0.5)
       point(x1, y1, "  (x1,y1)", :black, :left, :vcenter)
       point(x2, y2, "  (x2,y2)", :black, :left, :vcenter)
       point(a, 0, " a", :blue, :left, :bottom, delta=delta/2)
       point(0, b/2, " b/2", :blue, :left, :top, delta=-delta/2)
       point(a, b/2, "", :blue, :left, :top, delta=-delta/2)
       point(0, b, " b", :blue, :left, :bottom, delta=delta/2)
   end
end;

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村