裏 RjpWiki

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

ダメ出し:妙な数値表記

2012年12月10日 | ブログラミング

湿度諸量の計算法(まとめ) でみかけた

Okada <- function(t) {
  ## 入力:気温(℃)
  ## 出力:飽和水蒸気圧(hPa)
  exp(1.809378 +
      0.07266115 * t +
      (-3.003879 * 10^-4) * t^2 +
      (1.181765 * 10^-6) * t^3 +
      (-3.863083 * 10^-9) * t^4)
}

Okada2 <- function(t) {
  ## 入力:気温(℃)
  ## 出力:飽和水蒸気圧(hPa)
  exp(1.809378 +
      0.07266115 * t -
      3.003879e-4 * t^2 +
      1.181765e-6 * t^3 -
      3.863083e-9 * t^4)
}

Okada3 <- function(t) {
  ## 入力:気温(℃)
  ## 出力:飽和水蒸気圧(hPa)
  exp((((-3.863083e-9 * t + 1.181765e-6) * t -3.003879e-4) * t + 0.07266115) * t + 1.809378)
}

> options(digits=16)
> Okada(30)
[1] 42.42093319229595
> Okada2(30)
[1] 42.42093319229595
> Okada3(30)
[1] 42.42093319229597

Okada2 と Okada3 では,計算量が違う(Okada3 の方が多項式を計算するための定石手段)。

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

ダメ出し:NA の存在するデータの多変量解析にご注意

2012年12月10日 | ブログラミング

Outlines of Factor Analysis (2); estimation / rotation でのことだけど

一番最後の

> 因子得点の基本的な特徴を再確認

> summary(result.fa$scores)

> ##       ML2               ML1        
> ##  Min.   :-2.2878   Min.   :-2.206  
> ##  1st Qu.:-0.6640   1st Qu.:-0.604  
> ##  Median :-0.1128   Median : 0.148  
> ##  Mean   :-0.0094   Mean   : 0.018  
> ##  3rd Qu.: 0.6678   3rd Qu.: 0.809  
> ##  Max.   : 2.2048   Max.   : 2.411  
> ##  NA's   :3         NA's   :3

因子得点の平均値が 0 になっていないのは,分析に NA を含むデータを除かなかったため。

fac_data <- na.omit(fac_data)

として,同じように分析を進めれば,以下のようにちゃんと平均値は0になる。fac_data では NA を含むデータが少ないので影響も小さいが,NA がたくさんあるデータだとどうなるかな?

これは,fa のバグなんだろうか?

> summary(result.fa$scores)
      ML2               ML1         
 Min.   :-2.2664   Min.   :-2.2769  
 1st Qu.:-0.6572   1st Qu.:-0.6321  
 Median :-0.1007   Median : 0.1331  
 Mean   : 0.0000   Mean   : 0.0000  
 3rd Qu.: 0.6697   3rd Qu.: 0.7946  
 Max.   : 2.1988   Max.   : 2.4392  

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

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

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