Python関連のことを調べてみた

Python関連のことを調べてみた

【気象データで時系列解析①】定常性

# 概要
シリーズ「気象データで時系列解析」では、気象データを例に時系列解析の基礎を学びます。

今回は、**定常性**について扱います。

# 定常性とは
定常性には大きく2つあって、**弱定常**と**強定常**があります。

## 弱定常の定義
系列$\\{y_t\\}$が**弱定常**であるとは、

– ある$\mu$が存在して、任意の$t$に対し$E[y_t]=\mu$
– 任意の$k$に対しある$\gamma_k$が存在して、任意の$t$に対し$\text{Cov}[y_t,y_{t-k}]=\gamma_k$

を満たすことです。

つまり、平均と共分散が時刻$t$によらず一定(ただし共分散はラグ$k$に依存してよい)であるような系列のことです。

グラフで見ると、ある平均値まわりをずーっと同じ振れ方でギザギザしているような感じになります

単に「定常性」と言ったときは、この弱定常を指すことが多いです。

## 強定常の定義
一方、系列$\\{y_t\\}$が**強定常**であるとは、

– 任意の$k$に対して、$y_{t_1},\cdots,y_{t_n}$の同時分布

元記事を表示

pickle の逆アセンブリの命令の解説 (pickletools 使用)

pickle で作成したファイルをデバッグしたい場合に、逆アセンブリを読むこともあると思います。

こちらの記事がとても丁寧に解説されていて、非常にわかりやすく助かりました。

https://qiita.com/tanuk1647/items/4c2a305c7cc4e12ef99d

ですが、`pickletools` のプロトコル(バージョン)が違うからなのか、こちらに掲載されていないニモニックもあり、あまり日本語でまとまっているサイトも見当たらなかったので、いくつか追加で解説していきたいと思います。今回使用したプロトコルは `PROTO 4` です。

# STACK_GLOBAL (スタックを参照する GLOBAL)

冒頭の記事で紹介されている `GLOBAL` オペコードでは 2つの引数を取ってオブジェクトを作成しますが、 `STACK_GLOBAL` はかわりにスタックからオブジェクトを2個ポップして、(プッシュされた順に)`module_name` と `class_name` とし、`”module_name.class_name”`をスタックにプッシュします。

元記事を表示

YouTubeタイトルを通じた日本経済の理解 【形態素解析・感情分析】

# 目次
1 . 本記事の最終目標
2 . 実施手順
3 . 結論
4 . 感想

# 実行環境
・Python3.10.12
・Google Colaboratory

# 1.本記事の最終目標
この記事では、ビジネスリーダーが直面する日々の課題に対処するためのデータ駆動型アプローチを探求します。具体的には、Pythonを用いた自然言語処理技術を活用し、YouTubeのタイトルを分析することで、日本経済の動向を洞察し、ビジネスマンとしての洗練された見識を磨くことを目指します。また、このプロセスを通じて、現代ビジネスにおけるデータ分析の重要性と効果的な活用法を明らかにし、読者の皆様がより戦略的な意思決定を行えるようサポートします。なお、このブログはAidemy Premiumのカリキュラムの一環で、受講修了条件を満たすために公開しています。

:::note info
データ駆動型アプローチ(Data-Driven Approach)とは、決定、プロセス、または企画を行う際に、直感や経験だけでなく、客観的なデータ分析を重視する方法です。
:::

# 2.実施手順
⑴ Youtube

元記事を表示

LLMの信頼性をどのように評価するかその2:Arthur Benchを使う

# はじめに
みなさん、こんにちは、M&Aクラウドの尾村です。以前、[LangCheckを紹介する記事](https://qiita.com/homura99/items/82d1e4159707cb8327c4)を書きました。今回は、同じようなツールですが、tensorboardのようなUI付きで確認できる[Arthur Bench](https://github.com/arthur-ai/bench)を試してみたので紹介したいと思います。Arthur Benchは、アメリカのスタートアップ[Arthur.ai社](https://www.arthur.ai/)が開発しているLLM評価ツールです。Arthur社はArthur Benchの周辺ツールであるArthur ShieldやArthur Scopeをクラウドで提供することで利益を得ているようです。今回は、公式ドキュメントを参考に私の環境で試してみたのでその結果をお伝えします。

# 環境設定
公式にあるようにinstallしていきます。私は仮想環境上で試したいので、以下のコマンドで、benchenvという仮想環境を作成し、ア

元記事を表示

ChatGPTとPythonで学ぶ 局所接線空間アラインメント (LTSA)

皆さんこんにちは。今日も引き続きChatGPT先生をお迎えして、「ChatGPTとPythonで学ぶ 局所接線空間アラインメント」というテーマで雑談したいと思います。それではChatGPT先生、よろしくお願いします。

### **assistant**:

はじめまして、ChatGPT先生です。今日は「局所接線空間アラインメント」についてお話します。これは、高次元データを低次元のマニフォールド(多様体)に射影する一種の次元削減手法です。具体的には、局所接線空間が最も一致するようにデータを配置します。

まずPythonで必要なライブラリをインポートしましょう。

“`python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_swiss_roll
from sklearn.manifold import locally_linear_embedding
“`

2つ目の行では、可視化用の `matplotlib.pyplot` を `plt`

元記事を表示

LeetCodeの練習メモ

LeetCodeのEasy問題を解いていくテスト

1.two sum
問題文
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190712/1f3dbee3-ca7a-975d-a4d8-defb92983b4f.png)
日本語
整数の配列 nums と整数の target が与えられた場合、合計が target になる二つの数のインデックスを返します。

各入力には必ず一つの解があると仮定しても構いませんが、同じ要素を二度使用することはできません。

答えは任意の順序で返すことができます。

回答例

“`python
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
hashmap = {}

for i in range(len(nums)):
num = nums[i]
compleme

元記事を表示

落書きを美しいイラストに変換する:OpenAIのAPIを使った方法

## はじめに

私は絵心が絶望的にありません。
常々、適当に書いた落書きをいい感じのイラストにしてくれたらいいなと思っていました。

調べてみるとそういったサービスもちらほらあって、どうやっているのかな?と気になったのでやり方を考えてみました。(当初、Variationで行けるかと思ったんですが、下手な絵が量産されるだけでした、、)

## やり方

OpenAIが公開しているAPIのうち、VisionとImage generationを使います。
ざっくりいうと、落書きをVisionで読み込んでプロンプトを作ってもらい、Image generationで画像にします。

例えば以下の落書きを入力とすると、

![IMG_9451.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649608/41991d4a-75e4-b3a3-a9b7-5ee25e0fa1f8.jpeg)

このような感じになります。
![IMG_9452.jpeg](https://qiita-image-store.s3.

元記事を表示

opencv 4.8 pythonでのAR

最新のopencvをPythonから動かしたときネットに転がっているコードが関数名の変更などで動かなかったので2023.9時点で動くコードを載せる.
[公式ページ](https://docs.opencv.org/4.8.0/d5/dae/tutorial_aruco_detection.html)もあるがPython用の解説はあまり載っていないのでVSコードのサジェスチョンからそれっぽい関数名のものを探してきて動くようにしたもので動きはするが想定している使い方ではない可能性が無きにしも非ず.

# 環境
python 3.8.7
cv2 4.8.0
numpy 1.24.4

# ARマーカーの作成
もっとも単純なもの
以下のような画像が生成される
![mark_id_00.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3494165/ea189925-0337-0c2a-132d-bc5bdc351a34.jpeg)

“`python
# マーカーの保存先
dir_mar

元記事を表示

WindowsでのRPi.GPIOを使った開発

# RPi.GPIO
ラズパイのGPIOを利用するPythonのライブラリ.ラズパイでGPIOを操作するPythonコードは半分以上はこれを利用している気がする.

Chat-GPTにLチカのコードを書かせても以下のプログラムが出てくるのでこれが一般的だと思われる.ラズパイでGPIOを利用したことがある人は一度は見たことがあるはず.

“`python
from RPi import GPIO
import time

# ピン番号の設定
led_pin = 18

# GPIOの初期化
GPIO.setmode(GPIO.BCM)
GPIO.setup(led_pin, GPIO.OUT)

# Lチカの実行
try:
while True:
GPIO.output(led_pin, GPIO.HIGH)
time.sleep(1)
GPIO.output(led_pin, GPIO.LOW)
time.sleep(1)
except KeyboardInterrupt:
GPIO.cleanup()

元記事を表示

ETFを100万投資した時の10年後の金額は?

前回はYahooファイナンスのAPIを使って年利を出すコードを書いたが、
今回は実際に100万円入金したら10年後にいくらになるか計算するプログラムを書いたよ!
NISAの投資に役立ててね!

“`python
# 初期投資額
initial_investment = 1000000 # 100万円

# VYMとVTIの想定年間リターン率
annual_return_vym = 0.05 # 5%
annual_return_vti = 0.07 # 7%

# 投資期間(年)
years = 10

# VYMとVTIの平均配当利回り
dividend_yield_vym = 0.0328 # 3.28%
dividend_yield_vti = 0.0142 # 1.42%

# 年間総リターン率(価格上昇+配当)
total_annual_return_vym = annual_return_vym + dividend_yield_vym
total_annual_return_vti = annual_return_vti + dividend_yield_vt

元記事を表示

大学入試問題をpythonで解く

“`math
連立方程式|x|+|y|-2>=0 x^2+2x-2y-1>=0を表す領域をDと領域Dを平面座標に表示してその面積を求めよ

“`
“`python

from sympy import *
from sympy.abc import *
import numpy as np
import matplotlib.pyplot as plt
x1=np.linspace(0,3)
x2=np.linspace(0,3)
x3=np.linspace(-3,0)
x4=np.linspace(-3,0)
x5=np.linspace(-3,3)
print(x1)
y1=-x1+2
y2=x2-2
y3=-(-x3-2)
y4=-x4-2

y5=(x5*x5+2*x5-1)/2
plt.ylim(-3,3)
plt.grid()
plt.plot(x1,y1)
plt.plot(x2,y2)
plt.plot(x3,y3)
plt.plot(x4,y4)
plt.plot(x5,y5)

“`
![rei48.png](https://qiita-image-s

元記事を表示

devcontainerを使った自分のPython開発環境

# :hatching_chick: はじめに

Qiita初記事として自分のPython開発環境の備忘録を書いていきます! [1.](#pray-引用参考文献)

前まではコードエディターとしてVSCode、仮想環境構築にAnacondaを使っていたんですが、Dockerの勉強を兼ねてdevcontainerを使った開発環境構築を試みました。
その間に調べたことをまとめていきます!

少しでも参考になる箇所があればうれしいです!!

# :thumbsup: 本記事の要点

– [devcontainerの(自分なり)ベストプラクティスの紹介](#whale2-devcontainerの自分なりベストプラクティス)
– [devcontainerを構成するファイルの解説](#notepad_spiral-構成ファイルの詳細解説メモ)

# :no_good: 本記事では扱わない内容

– VSCodeのインストール
– DockerやWSLのインストール
– Remote-containerの追加
– devcontainerの起動
– DockerやDocke

元記事を表示

Pythonでポートフォリオ分析(過去データに基づく最適な資産構成比の探索)

# 目的
– Pythonを用いてポートフォリオを構成する各資産の過去データの統計解析(リスク、リターン、相関係数)を行う
– 得られた統計解析結果を用いて、ポートフォリオにおける最適な資産構成比を探索し、効率的フロンティア(リスク・リターン分布)を出力する

# 計算の概要
– [`yfinance`](https://pypi.org/project/yfinance)を用いてYahoo! Financeより各資産の過去データを取得
– `Pandas`, `Numpy`を用いて各資産の統計解析を実施(必要に応じて為替を考慮)
– モンテカルロ法により様々な資産構成比を探索し、シャープレシオが最大となる組み合わせを出力
– `Plotly`を用いてリスク・リターンのインタラクティブな散布図を出力

# 実行例
– 今回作成した解析用のクラスである`asset_analysis`の実行例を示します。
– 実装方法は後述します。

## 1. 各資産の過去データの取得、統計解析
“`python
#各資産のYahoo Financeにおけるティッカーを入力
assets = [“IV

元記事を表示

じゃんけん.py

# 乱数でじゃんけんに勝つ

#### 相手の傾向から次の勝利を予想する。

“`python:main.py
import random
gu = 0
choki = 0
pa = 0
num = 0
gu_p = 1
choki_p = 1
pa_p = 1
up_p = 0.1
dict = [‘gu’,’cho’,’pa’]
while True :
if num != 0:
res = input(“勝or負(w / l) : “)
if res == ‘w’ or res == ‘l’:
pass
else:
res = random.choice([‘w’,’l’])
if gu == 1:
gu = 0
if res == ‘w’:
gu_p += up_p
else:
if gu_p > up_p * 1.1:

元記事を表示

AtCoder初心者 DailyTrainingメモ 2023/11/26

# ABC242 B-問題
https://atcoder.jp/contests/adt_easy_20231017_1/tasks/abc242_b

![242B.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547298/17876519-2006-778b-9eb3-5478fa74a5cc.png)

**ポイント**
受け取る文字列をリストで取得し、ソートする。

““Python:242B.py
# リストで受け取る
S = list(input())

# リストをソートして昇順に文字を並べ替える
S.sort()

# “”.join(S) でリストを結合する
print(“”.join(S))
““

# ABC294 C-問題
https://atcoder.jp/contests/adt_easy_20231017_1/tasks/abc294_c

![294C.png](https://qiita-image-store.s3.ap-northeast-1.amaz

元記事を表示

日本語データセットで10+ヶ国語を発話するTTS開発

韓国で開発をしている大学生です。初めて記事お作成してみます。

# 目次

0. 概要
0. 亜流雀々
0. 本プロジェクトの開発過程
0. 結果

# 概要

Japanese to Multi Language TTS – VITS (MB-iSTFT-VITS)

まず、このプロジェクトは日本語データセットで韓国語を発話できるようにするために始めたプロジェクトです。

その後、HANGULIZEプロジェクトを発見し、ミュートクリーナーにハングルのサイズを追加して10+ヶ国語を発火させることができるようになりました。 外国語を流暢に話す日本人だと感じたら、このプロジェクトは成功だと言えます。

# 亜流雀々

以下は、このプロジェクトに到達するために制作した亜流作です。

– RVC-VITS (https://github.com/kdrkdrkdr/RVC-VITS)
特徴:RVCでデータaugmentation後に学習する
>変換されたデータセットのイントネーションとキャラクターだけの特徴が生かされないイシューが発生

– JK-VITS

元記事を表示

統計分析お題:kaggleのUFO Sightingデータセットを分析してみる。

1949年から2013年までの、UFOを発見したという情報をまとめたデータセットがあるようです(有名のようです)。

データセットはこんな感じ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3517776/e3fbf8d1-0011-3c94-e0bf-559c41cc76c1.png)

– 基本的に発見日時
– 発見した町
– 州
– 国名
– UFOの形
– (おそらく)目撃した時間[sec]
– (おそらく)目的した時間[hours or min]
– 目撃談(コメント)
– 情報提供日
– 発見した場所の緯度
– 発見した場所の経度

なので、このデータセットの国名の列を使って、「国別UFO発見件数の年間推移グラフ」を作ってみたいと思います。

試すにあたり、以下の分析事例を参考にしました。

https://www.kaggle.com/code/hebakullab/ufo-sightings

# やってみる
## データセットの準備

データセットはここにあります。(K

元記事を表示

ABC330をPythonで(A~E)

トヨタシステムズプログラミングコンテスト2023(AtCoder Beginner Contest 330)

https://atcoder.jp/contests/abc330

# A問題
問題通りに調べる
“`python:A
_,L=map(int,input().split())
print(sum(a_i>=L for a_i in map(int, input().split())))
“`

# B問題
その数$a_i$が
$L<=a_i<=R$のときは$a_i$ $a_i

元記事を表示

Pythonで〇×ゲームのAIを一から作成する その31 〇の勝利の判定に対するテスト

# 目次と前回の記事

https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0

https://qiita.com/ysgeso/items/1a8a4319ef3c896ef271

# 実装の進捗状況と前回までのおさらい

## 〇×ゲームの仕様と進捗状況

1. `正方形で区切られた 3 x 3 の 2 次元のゲーム盤上でゲームを行う`
2. `ゲーム開始時には、ゲーム盤のすべてのマスは空になっている`
3. `2 人のプレイヤーが遊ぶゲームであり、一人は 〇 を、もう一人は × のマークを受け持つ`
4. `2 人のプレイヤーは、交互に空いている好きなマスに自分のマークを 1 つ置く`
5. `先手は 〇 のプレイヤーである`
6. __プレイヤーがマークを置いた結果、縦、横、斜めのいずれかの一直線の 3 マスに同じマークが並んだ場合、そのマークのプレイヤーの勝利とし、ゲームが終了する__
7. __すべてのマスが埋まった時にゲームの決着がついていない場合は引き分けとする__

仕様の進捗状況は、以下のように表記します。

*

元記事を表示

エスケープ処理とDjangoの{{○○|safe}}(safeフィルター)

Djangoでwebアプリを作成しているときに出てきた{{○○|safe}}の意味がよくわかっていなかったので備忘録として周辺の知識と一緒に備忘録としてまとめておく。

# |safeとは
 Djangoのフィルター機能の一種。フィルター機能の話は[こちら](https://office54.net/python/django/template-filter-summary#section2)の記事にゆずるが、テンプレート側がビューから受け取った変数を加工するためのもの。

# |safeの役割
 safeの場合,受け取った変数に含まれているHTMLタグをエスケープさせずに処理してくれるようになる。例えば、変数にHTMLタグが含まれている場合、|safeがない場合はただの文字列として読み込んでしまうが、|safeをつけることでタグとして認識してくれる。

# エスケープ(エスケープ処理)とは?
 上でさらっと出てきたエスケープという言葉。何気なく使っているが、最近までどういう意味か説明できなかった。エスケープ処理なんて言葉もよく聞くが一体何のか。
どうやら、 エスケープ(処理)とは**

元記事を表示

OTHERカテゴリの最新記事